home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gold Medal Software 2
/
Gold Medal Software Volume 2 (Gold Medal) (1994).iso
/
utils
/
tsx411a.arj
/
TSXLITE.DOC
< prev
next >
Wrap
Text File
|
1993-11-10
|
429KB
|
9,980 lines
T S X -- L i t e
Shareware
Multi-user/Multi-tasking Operating System
S&H Computer Systems, Inc.
TSX-Lite is a full 32-bit, multi-user, multi-tasking operating
system for 386 and 486 computer systems. TSX-Lite supports two
simultaneous users and provides multi-tasking and multi-sessions
allowing each user to control up to 10 interactive sessions as well
as background batch jobs.
TSX-Lite provides full support for modems and dial-in lines as well
as providing the TSXTERM terminal emulator program. This makes it
possible to call your computer and remotely execute commands and
programs. TSX-Lite can also be used as a "server" to run doors
from BBS systems.
TSX-Lite uses the same file structure as DOS, so you can install
TSX-Lite on a DOS based computer without reformatting or
partitioning your disk. And, you can run TSX-Lite part of the time
and DOS at other times on the same computer. TSX-Lite does not
support disk compression such as Stacker or DoubleSpace.
TSX-Lite runs most DOS 16-bit programs and also provides an
advanced 32-bit program environment with integral EMS, XMS, and
DPMI support. This allows execution of modern 32-bit applications
that need not be constrained by the 640kb DOS partition. Full
virtual memory support is provided with demand paging, allowing
execution of programs larger than the physical memory installed on
the computer.
TSX-Lite is not a limited, 16-bit, multi-DOS add-on. Rather, it is
a complete 32-bit operating system that runs exclusively in
protected mode and uses the full potential of modern 32-bit
processors. TSX-Lite has the power of DESQView, PC Anywhere,
386MAX, and Phar Lap combined.
TSX-Lite requires a 386, 486, or Pentium computer system with at
least 4Mb of memory and 10Mb of free disk space. VGA and MDA
display adapters are supported along with a variety of disk
adapters.
TSX-Lite is a shareware version of the powerful TSX-32 operating
system which supports over 100 simultaneous users and provides
TCP/IP networking, real-time control, and other features.
As a shareware product, you are granted a no-cost, trial period of
30 days during which you may evaluate TSX-Lite.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1 What is TSX-Lite? . . . . . . . . . . . . . . . . . . . . . 2
1.1.1 Execution Scheduling . . . . . . . . . . . . . . . . . 3
1.1.2 The TSX Kernel . . . . . . . . . . . . . . . . . . . . 3
1.2 Why Use TSX-Lite? . . . . . . . . . . . . . . . . . . . . . 3
2. Getting Started . . . . . . . . . . . . . . . . . . . . . . . 6
2.1 Starting TSX . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 Run Your Program . . . . . . . . . . . . . . . . . . . . . 7
2.3 Multi-tasking and the Session Manager . . . . . . . . . . . 7
2.4 The TSGEN Program . . . . . . . . . . . . . . . . . . . . . 9
2.5 Setting Up Multi-Tasking Applications . . . . . . . . . . . 11
2.5.1 Setting up Wildcat for TSX-Lite . . . . . . . . . . . . 12
2.6 Setting up COM Ports . . . . . . . . . . . . . . . . . . . 13
2.6.1 Hardware Connections . . . . . . . . . . . . . . . . . 13
2.6.2 Line Setup Options . . . . . . . . . . . . . . . . . . 14
2.6.3 Setting up Phone lines . . . . . . . . . . . . . . . . 17
2.6.4 Setting Up Password Protection . . . . . . . . . . . . 18
2.6.5 Monitoring Serial Lines . . . . . . . . . . . . . . . . 19
2.6.6 Setting up COM3 and COM4 . . . . . . . . . . . . . . . 20
2.7 Setting up Mouse Support . . . . . . . . . . . . . . . . . 21
2.8 Setting up CD ROM Support . . . . . . . . . . . . . . . . . 21
2.9 Returning to DOS . . . . . . . . . . . . . . . . . . . . . 22
3. Terminal Operations . . . . . . . . . . . . . . . . . . . . . 23
3.1 Terminal Types . . . . . . . . . . . . . . . . . . . . . . 23
3.2 Terminal Input Editor . . . . . . . . . . . . . . . . . . . 24
3.3 Control Characters . . . . . . . . . . . . . . . . . . . . 24
3.4 Screen Saver . . . . . . . . . . . . . . . . . . . . . . . 26
3.5 Communication Lines . . . . . . . . . . . . . . . . . . . . 26
3.6 International Keyboard Support . . . . . . . . . . . . . . 27
4. Running DOS Programs . . . . . . . . . . . . . . . . . . . . . 28
4.1 Installing and Tuning DOS Programs . . . . . . . . . . . . 28
4.2 Direct Write Programs . . . . . . . . . . . . . . . . . . . 29
4.3 DOS Environment Variables . . . . . . . . . . . . . . . . . 30
4.4 16-bit Program Device Names . . . . . . . . . . . . . . . . 30
4.5 Support for COMMAND.COM and TSR Programs . . . . . . . . . 31
4.6 Controlling DOS Program Input Loops . . . . . . . . . . . . 31
4.7 IDLETIME Attribute . . . . . . . . . . . . . . . . . . . . 33
4.8 Printer Flush Sysgen Parameters . . . . . . . . . . . . . . 34
4.9 Virtual UART Support . . . . . . . . . . . . . . . . . . . 34
4.10 Expanded Memory Support (EMS) . . . . . . . . . . . . . . 35
4.11 Extended Memory Support (XMS) . . . . . . . . . . . . . . 35
4.12 DPMI Support . . . . . . . . . . . . . . . . . . . . . . . 36
4.13 Phar Lap Native System Services . . . . . . . . . . . . . 36
i
Contents ii
5. The TSX Command Language . . . . . . . . . . . . . . . . . . . 38
5.1 Command Qualifiers . . . . . . . . . . . . . . . . . . . . 38
5.2 Wildcard Specifications . . . . . . . . . . . . . . . . . . 39
5.3 TSX Device Names . . . . . . . . . . . . . . . . . . . . . 39
5.4 Internal and External Commands . . . . . . . . . . . . . . 40
6. The System Menu . . . . . . . . . . . . . . . . . . . . . . . 42
7. Symbols and Logical Names . . . . . . . . . . . . . . . . . . 43
7.1 Defining Symbols with String Assignment Operators . . . . . 43
7.2 Defining Symbols with Numeric Assignment Operators . . . . 44
7.3 ASSIGN Command and Logical Device Names . . . . . . . . . . 44
8. Printing . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
8.1 Spooler and Queue Manager . . . . . . . . . . . . . . . . . 47
8.2 Setting Up the Printer Queues . . . . . . . . . . . . . . . 48
8.3 Printing from DOS Programs . . . . . . . . . . . . . . . . 49
8.4 Terminal Printers . . . . . . . . . . . . . . . . . . . . . 50
8.5 Advanced Features . . . . . . . . . . . . . . . . . . . . . 51
9. Command Procedures (Batch Files) . . . . . . . . . . . . . . . 52
9.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . 52
9.2 Invoking Command Procedures . . . . . . . . . . . . . . . . 52
9.3 Background Batch Jobs . . . . . . . . . . . . . . . . . . . 53
9.4 Branching: Labels and GOTO . . . . . . . . . . . . . . . . 54
9.5 Symbols and Operators . . . . . . . . . . . . . . . . . . . 55
9.6 Conditionals: IF . . . . . . . . . . . . . . . . . . . . . 55
9.7 User Interaction: DISPLAY and INQUIRE . . . . . . . . . . . 55
9.8 Seeing Commands . . . . . . . . . . . . . . . . . . . . . . 56
9.9 Expression Operators . . . . . . . . . . . . . . . . . . . 56
9.9.1 Numeric Operators . . . . . . . . . . . . . . . . . . . 56
9.9.2 String Operators . . . . . . . . . . . . . . . . . . . 56
9.9.3 Numeric Comparison . . . . . . . . . . . . . . . . . . 56
9.9.4 String Comparions . . . . . . . . . . . . . . . . . . . 56
9.9.5 Logical Operators . . . . . . . . . . . . . . . . . . . 57
9.10 Lexical Functions . . . . . . . . . . . . . . . . . . . . 57
10. Multiuser Computing . . . . . . . . . . . . . . . . . . . . . 62
10.1 Workstations . . . . . . . . . . . . . . . . . . . . . . . 62
10.2 Commands for the Multiuser Environment . . . . . . . . . . 63
10.2.1 BATCH Command . . . . . . . . . . . . . . . . . . . . 63
10.2.2 SHOW Commands . . . . . . . . . . . . . . . . . . . . 64
10.2.3 STOP Command . . . . . . . . . . . . . . . . . . . . . 64
10.2.4 SEND Command . . . . . . . . . . . . . . . . . . . . . 64
10.2.5 PHONE Command . . . . . . . . . . . . . . . . . . . . 65
10.2.6 TUTOR Command . . . . . . . . . . . . . . . . . . . . 65
10.3 Virtual Memory . . . . . . . . . . . . . . . . . . . . . . 65
10.4 Data Caching . . . . . . . . . . . . . . . . . . . . . . . 67
10.5 Logon Access Control . . . . . . . . . . . . . . . . . . . 67
10.6 Event Logs . . . . . . . . . . . . . . . . . . . . . . . . 68
10.7 NetBIOS Support . . . . . . . . . . . . . . . . . . . . . 68
10.8 Mailboxes and Shared Memory Regions . . . . . . . . . . . 69
11. TSXTERM . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
11.1 Installing TSXTERM . . . . . . . . . . . . . . . . . . . . 70
Contents iii
11.2 Using TSXTERM . . . . . . . . . . . . . . . . . . . . . . 70
11.3 Control Screens . . . . . . . . . . . . . . . . . . . . . 70
11.4 Configuring TSXTERM . . . . . . . . . . . . . . . . . . . 71
11.5 Using Modem Connections . . . . . . . . . . . . . . . . . 72
11.6 Using Direct Connections . . . . . . . . . . . . . . . . . 72
11.7 Printer Support . . . . . . . . . . . . . . . . . . . . . 73
11.8 Background File Transfer . . . . . . . . . . . . . . . . . 73
11.9 Session Logging . . . . . . . . . . . . . . . . . . . . . 73
12. System Management . . . . . . . . . . . . . . . . . . . . . . 74
12.1 Overview of System Startup . . . . . . . . . . . . . . . . 74
12.2 Startup Command Files . . . . . . . . . . . . . . . . . . 74
12.3 System Customization . . . . . . . . . . . . . . . . . . . 75
12.3.1 Line Startup Procedures . . . . . . . . . . . . . . . 75
12.3.2 User Authorization . . . . . . . . . . . . . . . . . . 76
12.3.3 System Wide Settings . . . . . . . . . . . . . . . . . 76
12.4 System Tuning . . . . . . . . . . . . . . . . . . . . . . 77
12.4.1 Introduction . . . . . . . . . . . . . . . . . . . . . 77
12.4.2 CSHSIZE: Cache size . . . . . . . . . . . . . . . . . 77
12.4.3 VMAXJOBS: Job limit . . . . . . . . . . . . . . . . . 77
12.4.4 DOWINPRT: Window Print . . . . . . . . . . . . . . . . 78
12.4.5 DOQUEUES: Queue Manager and Spooler . . . . . . . . . 78
12.4.6 MAXP0MEM: Maximum Memory Space . . . . . . . . . . . . 78
12.4.7 PGFILSIZ: Page File Size . . . . . . . . . . . . . . . 78
12.4.8 POOLSIZEN: System Pool Space . . . . . . . . . . . . . 78
12.4.9 RAMDISKSIZ: Virtual Disk . . . . . . . . . . . . . . . 79
13. Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . 80
13.1 RUNTSX Fails During TSX Start . . . . . . . . . . . . . . 81
13.2 Keyboard Is Dead . . . . . . . . . . . . . . . . . . . . . 81
13.3 Serial Terminal Does Not Work . . . . . . . . . . . . . . 81
13.4 Screen is Corrupted after Session Switch . . . . . . . . . 82
13.5 Mouse Does Not Work . . . . . . . . . . . . . . . . . . . 82
13.6 TSX Does Not Answer Incoming Calls . . . . . . . . . . . . 82
13.7 Trash Characters During Logon and Screen Refresh . . . . . 82
13.8 Lost Characters or Retries During File Transfers . . . . . 83
13.9 Unable to Run TSR Programs . . . . . . . . . . . . . . . . 83
13.10 Queue Manager and Spooler Are Gone . . . . . . . . . . . 83
13.11 Slow Performance -- Excessive Memory Paging . . . . . . . 84
14. TSX Command Summary . . . . . . . . . . . . . . . . . . . . . 85
14.1 ALLOCATE . . . . . . . . . . . . . . . . . . . . . . . . . 86
14.2 ASSIGN . . . . . . . . . . . . . . . . . . . . . . . . . . 86
14.3 ASSIGNMENT Expressions . . . . . . . . . . . . . . . . . . 86
14.4 ASSIGNMENT for strings . . . . . . . . . . . . . . . . . . 87
14.5 BACKUP . . . . . . . . . . . . . . . . . . . . . . . . . . 87
14.6 BATCH . . . . . . . . . . . . . . . . . . . . . . . . . . 91
14.7 BOOT . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
14.8 BYE . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
14.9 CALCULATE . . . . . . . . . . . . . . . . . . . . . . . . 92
14.10 CALENDAR . . . . . . . . . . . . . . . . . . . . . . . . 93
14.11 CALL . . . . . . . . . . . . . . . . . . . . . . . . . . 93
14.12 CHAIN . . . . . . . . . . . . . . . . . . . . . . . . . . 93
14.13 CHDIR . . . . . . . . . . . . . . . . . . . . . . . . . . 94
14.14 CLS . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Contents iv
14.15 COPY . . . . . . . . . . . . . . . . . . . . . . . . . . 95
14.16 COUNT . . . . . . . . . . . . . . . . . . . . . . . . . . 97
14.17 DATE . . . . . . . . . . . . . . . . . . . . . . . . . . 98
14.18 DEALLOCATE . . . . . . . . . . . . . . . . . . . . . . . 98
14.19 DEASSIGN . . . . . . . . . . . . . . . . . . . . . . . . 98
14.20 DEFINE KEY . . . . . . . . . . . . . . . . . . . . . . . 99
14.21 DELETE . . . . . . . . . . . . . . . . . . . . . . . . . 99
14.22 DETACH . . . . . . . . . . . . . . . . . . . . . . . . 100
14.23 DIFFERENCES . . . . . . . . . . . . . . . . . . . . . . 102
14.24 DIRECTORY . . . . . . . . . . . . . . . . . . . . . . . 104
14.25 DISPLAY . . . . . . . . . . . . . . . . . . . . . . . . 106
14.26 DOS . . . . . . . . . . . . . . . . . . . . . . . . . . 106
14.27 DUMP . . . . . . . . . . . . . . . . . . . . . . . . . 106
14.28 EDIT . . . . . . . . . . . . . . . . . . . . . . . . . 107
14.29 EVALUATE . . . . . . . . . . . . . . . . . . . . . . . 107
14.30 EVENT . . . . . . . . . . . . . . . . . . . . . . . . . 108
14.31 EXIT . . . . . . . . . . . . . . . . . . . . . . . . . 108
14.32 EXPAND . . . . . . . . . . . . . . . . . . . . . . . . 108
14.33 FILEWATCH . . . . . . . . . . . . . . . . . . . . . . . 110
14.34 FMAN . . . . . . . . . . . . . . . . . . . . . . . . . 111
14.35 FORMAT . . . . . . . . . . . . . . . . . . . . . . . . 114
14.36 GOTO . . . . . . . . . . . . . . . . . . . . . . . . . 115
14.37 HANLOAD . . . . . . . . . . . . . . . . . . . . . . . . 115
14.38 HELP . . . . . . . . . . . . . . . . . . . . . . . . . 115
14.39 IF . . . . . . . . . . . . . . . . . . . . . . . . . . 115
14.40 INITIALIZE . . . . . . . . . . . . . . . . . . . . . . 116
14.41 INQUIRE . . . . . . . . . . . . . . . . . . . . . . . . 116
14.42 JMAN . . . . . . . . . . . . . . . . . . . . . . . . . 117
14.43 KERMIT . . . . . . . . . . . . . . . . . . . . . . . . 117
14.44 KEYLOAD . . . . . . . . . . . . . . . . . . . . . . . . 117
14.45 KILL . . . . . . . . . . . . . . . . . . . . . . . . . 118
14.46 LOGOFF . . . . . . . . . . . . . . . . . . . . . . . . 118
14.47 MACROS . . . . . . . . . . . . . . . . . . . . . . . . 118
14.48 MAIL . . . . . . . . . . . . . . . . . . . . . . . . . 120
14.49 MD . . . . . . . . . . . . . . . . . . . . . . . . . . 120
14.50 MESSAGE . . . . . . . . . . . . . . . . . . . . . . . . 120
14.51 MKDIR . . . . . . . . . . . . . . . . . . . . . . . . . 121
14.52 MN . . . . . . . . . . . . . . . . . . . . . . . . . . 121
14.53 OFF . . . . . . . . . . . . . . . . . . . . . . . . . . 121
14.54 ON . . . . . . . . . . . . . . . . . . . . . . . . . . 121
14.55 PATH . . . . . . . . . . . . . . . . . . . . . . . . . 122
14.56 PAUSE . . . . . . . . . . . . . . . . . . . . . . . . . 123
14.57 PHONE . . . . . . . . . . . . . . . . . . . . . . . . . 123
14.58 PMAN . . . . . . . . . . . . . . . . . . . . . . . . . 123
14.59 PRINT . . . . . . . . . . . . . . . . . . . . . . . . . 124
14.60 PROMPT . . . . . . . . . . . . . . . . . . . . . . . . 125
14.61 PROTECT . . . . . . . . . . . . . . . . . . . . . . . . 126
14.62 QMAN . . . . . . . . . . . . . . . . . . . . . . . . . 126
14.63 R . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
14.64 RD . . . . . . . . . . . . . . . . . . . . . . . . . . 127
14.65 RECALL . . . . . . . . . . . . . . . . . . . . . . . . 127
14.66 RENAME . . . . . . . . . . . . . . . . . . . . . . . . 128
14.67 RESTORE . . . . . . . . . . . . . . . . . . . . . . . . 129
14.68 RMDIR . . . . . . . . . . . . . . . . . . . . . . . . . 131
14.69 RUN . . . . . . . . . . . . . . . . . . . . . . . . . . 131
Contents v
14.70 SEARCH . . . . . . . . . . . . . . . . . . . . . . . . 132
14.71 SEND . . . . . . . . . . . . . . . . . . . . . . . . . 135
14.72 SET CMDPROC . . . . . . . . . . . . . . . . . . . . . . 136
14.73 SET DATE . . . . . . . . . . . . . . . . . . . . . . . 137
14.74 SET DEFAULT . . . . . . . . . . . . . . . . . . . . . . 137
14.75 SET EDIT . . . . . . . . . . . . . . . . . . . . . . . 137
14.76 SET ENTRY . . . . . . . . . . . . . . . . . . . . . . . 138
14.77 SET EVENT . . . . . . . . . . . . . . . . . . . . . . . 138
14.78 SET HOST . . . . . . . . . . . . . . . . . . . . . . . 138
14.79 SET LOGOFF . . . . . . . . . . . . . . . . . . . . . . 140
14.80 SET LOG . . . . . . . . . . . . . . . . . . . . . . . . 140
14.81 SET MESSAGE . . . . . . . . . . . . . . . . . . . . . . 141
14.82 SET NEWSTATISTICS . . . . . . . . . . . . . . . . . . . 141
14.83 SET PRINTWINDOW . . . . . . . . . . . . . . . . . . . . 142
14.84 SET PROCESS . . . . . . . . . . . . . . . . . . . . . . 143
14.85 SET . . . . . . . . . . . . . . . . . . . . . . . . . . 144
14.86 SET SYSTEM . . . . . . . . . . . . . . . . . . . . . . 144
14.87 SET TERMINAL . . . . . . . . . . . . . . . . . . . . . 145
14.88 SET TIME . . . . . . . . . . . . . . . . . . . . . . . 148
14.89 SET VERIFY . . . . . . . . . . . . . . . . . . . . . . 148
14.90 SET VIDEO . . . . . . . . . . . . . . . . . . . . . . . 148
14.91 SET WINDOW . . . . . . . . . . . . . . . . . . . . . . 149
14.92 SET WORKING_SET . . . . . . . . . . . . . . . . . . . . 149
14.93 SHOW ALL . . . . . . . . . . . . . . . . . . . . . . . 150
14.94 SHOW ASSIGNS . . . . . . . . . . . . . . . . . . . . . 150
14.95 SHOW AUTHORS . . . . . . . . . . . . . . . . . . . . . 151
14.96 SHOW CACHE . . . . . . . . . . . . . . . . . . . . . . 151
14.97 SHOW COLORS . . . . . . . . . . . . . . . . . . . . . . 151
14.98 SHOW DATE . . . . . . . . . . . . . . . . . . . . . . . 151
14.99 SHOW DEVICES . . . . . . . . . . . . . . . . . . . . . 151
14.100 SHOW ERRORS . . . . . . . . . . . . . . . . . . . . . 152
14.101 SHOW EVENTS . . . . . . . . . . . . . . . . . . . . . 152
14.102 SHOW FILES . . . . . . . . . . . . . . . . . . . . . . 152
14.103 SHOW FSTATUS . . . . . . . . . . . . . . . . . . . . . 153
14.104 SHOW JOBS . . . . . . . . . . . . . . . . . . . . . . 153
14.105 SHOW KEYS . . . . . . . . . . . . . . . . . . . . . . 153
14.106 SHOW MEMORY . . . . . . . . . . . . . . . . . . . . . 153
14.107 SHOW NAME . . . . . . . . . . . . . . . . . . . . . . 153
14.108 SHOW PAGING . . . . . . . . . . . . . . . . . . . . . 153
14.109 SHOW PRIVILEGES . . . . . . . . . . . . . . . . . . . 154
14.110 SHOW QUEUE . . . . . . . . . . . . . . . . . . . . . . 154
14.111 SHOW SYMBOLS . . . . . . . . . . . . . . . . . . . . . 154
14.112 SHOW SYSTEM . . . . . . . . . . . . . . . . . . . . . 155
14.113 SHOW TERMINALS . . . . . . . . . . . . . . . . . . . . 155
14.114 SHOW TIME . . . . . . . . . . . . . . . . . . . . . . 155
14.115 SHOW UIC . . . . . . . . . . . . . . . . . . . . . . . 156
14.116 SHOW USE . . . . . . . . . . . . . . . . . . . . . . . 156
14.117 SHOW USERS . . . . . . . . . . . . . . . . . . . . . . 156
14.118 SHOW VERSION . . . . . . . . . . . . . . . . . . . . . 156
14.119 SHUTDOWN . . . . . . . . . . . . . . . . . . . . . . . 156
14.120 SORT . . . . . . . . . . . . . . . . . . . . . . . . . 156
14.121 SPY . . . . . . . . . . . . . . . . . . . . . . . . . 158
14.122 STOP . . . . . . . . . . . . . . . . . . . . . . . . . 159
14.123 SUBPROCESS . . . . . . . . . . . . . . . . . . . . . . 159
14.124 SYSMON . . . . . . . . . . . . . . . . . . . . . . . . 160
Contents vi
14.125 SYSTAT . . . . . . . . . . . . . . . . . . . . . . . . 160
14.126 TIME . . . . . . . . . . . . . . . . . . . . . . . . . 160
14.127 TMAN . . . . . . . . . . . . . . . . . . . . . . . . . 160
14.128 TSAUTH . . . . . . . . . . . . . . . . . . . . . . . . 161
14.129 TUTOR . . . . . . . . . . . . . . . . . . . . . . . . 161
14.130 TYPE . . . . . . . . . . . . . . . . . . . . . . . . . 161
14.131 TSGEN . . . . . . . . . . . . . . . . . . . . . . . . 162
14.132 UNPROTECT . . . . . . . . . . . . . . . . . . . . . . 162
14.133 VERSION . . . . . . . . . . . . . . . . . . . . . . . 163
14.134 WAIT . . . . . . . . . . . . . . . . . . . . . . . . . 163
14.135 WHO . . . . . . . . . . . . . . . . . . . . . . . . . 163
14.136 WIN . . . . . . . . . . . . . . . . . . . . . . . . . 163
14.137 WSCMD . . . . . . . . . . . . . . . . . . . . . . . . 164
15. Use and Distribution of TSX-Lite . . . . . . . . . . . . . 166
15.1 Redistribution of TSX-Lite . . . . . . . . . . . . . . . 166
15.2 Registering TSX-Lite . . . . . . . . . . . . . . . . . . 166
15.3 Telephone Support . . . . . . . . . . . . . . . . . . . 166
15.4 Copyright notice . . . . . . . . . . . . . . . . . . . . 167
15.5 Disclaimer . . . . . . . . . . . . . . . . . . . . . . . 167
16. The Full TSX-32 System . . . . . . . . . . . . . . . . . . 168
16.1 Support for Large Systems . . . . . . . . . . . . . . . 168
16.2 Networking . . . . . . . . . . . . . . . . . . . . . . . 168
16.3 Real-time Support . . . . . . . . . . . . . . . . . . . 168
16.4 Disk Shadowing . . . . . . . . . . . . . . . . . . . . . 168
16.5 Tape Support . . . . . . . . . . . . . . . . . . . . . . 169
16.6 X-Windows . . . . . . . . . . . . . . . . . . . . . . . 169
16.7 MessageNet . . . . . . . . . . . . . . . . . . . . . . . 169
16.8 Single-user Option . . . . . . . . . . . . . . . . . . . 169
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Chapter 1
Introduction
If you are like most DOS users you probably suspect that your
computer has a lot more power than you are currently using. You
are right. But to tap that power you need a more powerful
operating system than DOS; you need a system which was designed for
modern 386, 486, and Pentium computers, a system which fully
utilizes the hardware potential such as protected execution mode,
virtual memory, and 32-bit programs. You need a multi-user,
multi-tasking system that allows more than one user to access the
computer and allows you to execute multiple tasks at the same time.
You need TSX.
Although the primary purpose of TSX is not to emulate DOS, you will
find that most DOS commands and programs work with TSX in a
multi-user environment. And, since TSX uses the same file
structure as DOS, you can install it on the same disk as DOS and
run it part of the time and DOS at other times. Files created by
TSX or DOS are completely compatible. However, TSX does not
support software disk compression schemes like Stacker and
DoubleSpace.
This manual does not fully document TSX. The entire TSX-32
documentation set, including User's Manual, System Services, System
Management, Networking, etc. is over 1,500 pages. The philosophy
of this manual is to introduce TSX-Lite and provide you with enough
information to use it productively. See the REGISTER.DOC file for
information about ordering TSX-32 manuals.
In this document you will learn:
. What TSX-Lite is;
. Why it's better to run your software programs under TSX;
. How to use features of your TSX-Lite system;
. Benefits of registration and full TSX-32 systems.
1
Chapter 1. Introduction 2
1.1 What is TSX-Lite?
TSX is a multi-user, multi-tasking operating system. This means
several users can access the system at the same time, and each user
can control several jobs. TSX-Lite is somewhat like DESQView in
that you can simultaneously run many programs or several copies of
the same program such a bulletin board software. But you will find
that TSX-Lite provides much more than just a multi-tasking system.
We use the terms job, task, and process interchangeably to describe
one computing operation. The term "session" describes specifically
a job which is being controlled by a user sitting at a terminal (or
the console) as opposed to a batch or detached job.
With its dial-in support, TSX is little like a multi-node bulletin
board except that with a full multi-user system like TSX each user
can run any sets of commands and programs rather than being limited
to a specific set of programs (or "doors") that are controlled by
the bulletin board. For example, one user can edit a document with
a word processor while another user runs a spreadsheet or uses a
database program.
TSX-Lite can also be used as a "server" for multi-node BBS systems.
To do this the BBS system would run on one computer and TSX-Lite on
a different one. The BBS computer would be linked to the TSX-Lite
system with one or more hardwired serial connections. Users on the
BBS who wanted to run programs or perform other functions would
cause the BBS to connect their incoming line to one of the serial
lines going to the TSX-Lite system. The BBS user could then log
onto the TSX-Lite system and run "door" programs or any type of
application. With a full TSX-32 system and the TSX-32 network
applications kit it is even possible to use Telnet and FTP to
access the Internet or other systems through an arrangement of this
type.
Using TSX-Lite with the TSXTERM terminal emulator program that is
provided is a little like using PC Anywhere: you can call in using
a modem and execute commands and run programs. And you will find
that TSX's remote support is so good that you can remotely execute
even complex programs like WordPerfect, FoxPro, and Lotus 1-2-3.
TSX coordinates file access so that multiple users can read and
write the same or different files. This makes TSX a natural and
efficient system for applications such as pharmacies, video stores,
or other situations where multiple terminals are used to access a
common database.
A multi-user operating system is a little like a computer network
such as Novell or Lantastic: many users can run a variety of
programs at the same time and they can access common data files.
However, whereas a network requires each user to have a separate
computer, and usually a dedicated file server, a multi-user system
allows many users to run programs and access common files on the
same computer. Each user will have an inexpensive serial terminal
Chapter 1. Introduction 3
or a low-end computer with terminal emulation software, but all the
"computing" takes place on the central system.
The multi-user approach has many advantages. First, it is less
expensive since you do not have to buy a separate computer for each
user. Second, it is more efficient since files can be accessed
directly without having to transfer data through the network.
Third, management and upkeep of a single computer is much easier
than a network. Fourth, a multi-user system such as TSX supports
both hard-wired and dial-in users.
The full TSX-32 system is actually both a multi-user and a
networking operating system. The basic system is inherently
multi-user and is capable of running dozens of users on a single
computer. The networking option provides TCP/IP support so
multiple TSX systems can be linked together via Ethernet or serial
connections. With a network of TSX systems a user on any computer
can access files and devices on any other computer; also, a user
can log into another computer in the network and run programs or
perform other operations on remote computers.
1.1.1 Execution Scheduling
The multi-user, multi-tasking operation is achieved through a
technique called "time-sharing," in which the operating system
allocates the CPU to the jobs as they have need for it, giving the
illusion that each user has the full attention of the computer.
The quality of the execution scheduling algorithm largely
determines how efficient and responsive a multi-user operating
system is. TSX uses a patented "Adaptive Scheduling Algorithm"
(trade mark) that does a very good job of sharing the CPU time
among the competing jobs and overlaps the I/O wait time for one job
with the execution of others. Until recently, multi-user,
time-sharing systems such as TSX were available only on large
mainframe and mini-computer systems.
1.1.2 The TSX Kernel
The "brain" of the TSX operating system called the "kernel". It is
located in the file TSX32.SYS which must be stored in the root
directory. When you type RUNTSX to start the TSX operating system,
the kernel is loaded into memory and control of the system is
transferred to it. At this point, DOS and the BIOS are no longer
running. All functions that were previously controlled by DOS and
the BIOS are now assumed by TSX. But don't worry, DOS and the BIOS
are still there so you can reboot at any time and run DOS.
1.2 Why Use TSX-Lite?
There are several reasons to choose TSX as your operating system:
. TSX is a multi-user system. In addition to the primary user at
the console, your TSX-Lite system allows a second user to be
connected through the COM1 or COM2 port. The full TSX-32
Chapter 1. Introduction 4
system supports an unlimited number of users. Although the
practical limit is set by the configuration of your computer,
we have 386 and 486 systems installed supporting over 100
simultaneous users. TSX-Lite, the shareware version of TSX-32,
supports a maximum of 2 users.
. TSX provides multi-tasking and background batch jobs. Using a
technique called Process Windowing, each user can control up to
10 tasks. In addition, many jobs can be running in the
background as batch jobs (see Section 9.3). This allows long
running tasks to execute in the background while you use the
computer for other tasks. You can also execute multiple
"detached" jobs which can provide server functions for other
jobs. Detached jobs are not connected to any terminal.
. TSX supports modems and dial-in lines. You can set up your
TSX-Lite system so that you, or other users, can call in from
remote locations and run programs. A terminal emulator called
TSXTERM, that is optimized for remote access to TSX, is
provided with your TSX-Lite package. See Chapter 11 for
additional information about TSXTERM. You can also use
programs like Procomm to call into TSX systems. An optional
TSX-Lite Security Kit is available with programs to limit
access to the system and control file access on a user-by-user
basis.
. TSX can run arbitrarily large programs. Using a technique
called virtual memory, the size of programs can actually exceed
the amount of physical memory in the computer.
. TSX runs a variety of programs. The evolution of the computer
industry has extended programs beyond the world of DOS.
Programs requiring DPMI (a technique that allows DOS type
programs, which are normally 16-bit, to run in 32-bit mode),
Phar lap (a similar technique), as well as native 32-bit
software can all be run simultaneously. TSX has the combined
power of 386MAX and Phar Lap.
. TSX uses the "protected mode" of 386/486/Pentium processors.
This protects TSX and other programs from the misbehavior of
one user's programs and greatly reduces the occurrences of
system "hangs" or "crashes".
. TSX uses the same file structure as DOS. This means that you
can run TSX some of the time and DOS at other times on the same
disk without having to reformat or partition it. It also means
that data can be exchanged easily between TSX based systems and
DOS systems. TSX-Lite does not support disk compression
software such as Stacker or DOS version 6's DoubleSpace.
. Data caching is an integral part of TSX. This cache stores
frequently accessed data in memory and can greatly increase the
speed of some I/O intensive programs. On large-memory systems
the TSX data cache can be configured to store up to 12Mb of
data.
Chapter 1. Introduction 5
. TSX is a comprehensive system that includes as part of its
basic support XMS, EMS, DPMI, virtual memory, disk caching,
multi-tasking, remote access, terminal emulation, and NetBIOS
(for local program-to-program communication), so you do not
have to buy and install additional products.
. The TSX environment includes literally hundreds of features
designed to make life easier, not just for your software but
for you.
. There is an easy growth path from TSX-Lite to the full TSX-32
system which supports dozens of users and provides TCP/IP
networking and many other features.
. S&H Computer Systems has an outstanding support team that is
there to help you. Registered TSX-Lite users receive 90 days
of support via mail, FAX, or CompuServe at no additional cost.
Telephone support is also available; see Section 15.3 on page
166 for details.
Chapter 2
Getting Started
2.1 Starting TSX
If you have not already done so, you should follow the instructions
in the INSTALL.DOC file to install TSX-Lite on your computer. The
installation process will create a directory named \TSX32SYS\ on
your disk and copy the TSX system files into it. Furthermore, the
file TSX32.SYS (literally the computer program comprising the TSX
operating system) has been placed in the root directory.
The program RUNTSX in the \TSX32SYS\ directory is used to "boot"
TSX from the DOS prompt. This program reads the TSX32.SYS file,
loads it into memory, places your 386 or 486 processor in
"protected" (32-bit) mode, and jumps into TSX. From this point on,
DOS (as well as the BIOS) are completely out of the picture.
Should you reach a point that you want your PC automatically to
start TSX when it boots, you can use the STARTTSX program which is
provided with the optional TSX-Lite Utilities Kit.
Remember that when TSX is running, DOS is no longer in control (it
is not even in memory). While the TSX environment is designed to
make DOS users feel at home, it is not designed to be "just like
DOS". There are many more commands available. You can run a
greater variety of programs than you can under DOS. More memory is
available, and you have multi-user and multi-tasking capabilities.
However, it is also the case that some commands work a little
differently than they do under DOS. It's also true that not all
DOS programs will run under TSX. You may have to set up a
technique for correctly routing printed output or tame certain
programs for efficient multi-user operation. See Chapter 4,
starting on page 28, for additional information installing, tuning,
and running DOS programs under TSX.
When you type RUNTSX to start TSX it will initiate a procedure that
takes a few seconds to load TSX into memory and start various
"detached jobs" such as the print spooler and queue manager. Once
the initialization process finishes your console should display a
message saying that TSX is available. When you press Enter you
will be "logged on" to the system. An optional TSX-Lite Security
Kit is available which includes a LOGON program to force users to
enter a user name and password to gain access to the system. See
REGISTER.DOC for ordering and support information.
6
Chapter 2. Getting Started 7
Decide on a program you would like to run under TSX. Since the
chances are good that you will have to use the CD command to move
to the directory where the program is, it's a good time to talk
about how TSX handles disks and directories.
Under TSX, you can issue familiar commands to manage directories
like:
C:
CD \
MD WP51
CD \WP51
CD ..
Try a CD command now to move to the directory where your favorite
program resides. If it's on a different disk, you can combine the
device and directory specifications in a single CD command, such
as:
CD D:\WP51
Another nice feature of the TSX CD command is a construct which
means "go back to where I was before":
CD *
2.2 Run Your Program
Whatever you do to run your program under DOS, do now. TSX
recognizes BAT files, EXE files, and COM files just like DOS. Your
program should run just like it does under DOS. If it does not let
us make two suggestions at this point: (1) try another program, and
(2) see Chapter 13 that starts on page 80.
2.3 Multi-tasking and the Session Manager
Now that you are executing your favorite application program, you
may well be asking what the big deal about TSX is. To begin with,
let's do a little multi-tasking. While your program is running,
press the "Scroll Lock" key to invoke the TSX "Session Manager". A
menu will appear in the upper right portion of your screen
displaying the currently active sessions. At this point only
session number 0 will be active. Type the digit "1" (not on the
keypad, but on the keyboard above the letter "Q") to start session
1. You will be greeted with a blank screen and a message that says
something like "Subprocess 1, Job id=4". What you have done is
switched to a different Process Window.
Process windowing is the TSX terminology for multi-tasking. The
term "process" (or "job", or "task") refers to a single interactive
session controlled from a terminal which is running a single
program at any particular time. There are also batch and detached
processes, which are tasks that are not connected to a terminal at
Chapter 2. Getting Started 8
all. Since TSX allows you to control more than one process from
each terminal, each process is associated with a single "window".
Think of your monitor as being connected to a single window at a
time, looking through the window at the process you are currently
controlling.
Your primary window, number zero, is still running your program.
In window 1, you are now at the system prompt. To convince
yourself that your original program is still running, type the
following command:
SHOW SYSTEM
This will display a list of jobs that are currently logged on. You
should see an entry for your current session (which will show "(1)"
after the terminal name because this is your session 1), an entry
for your original session, and entries for TSX system jobs such as
the print spooler and queue manager.
By way of demonstrating multi-tasking, let's talk about TSX
commands for a minute, taking DIR as an example. Issue the
command:
DIR
You will see a listing of the files in the directory with a
familiar, but enhanced, format. TSX has more commands than you are
used to, and the commands have many more features. Take DIR as an
example. It's often nice to see what files in a directory are
using up all the disk space. Try the command:
DIR/SORT=SIZE/REVERSE
This requests a listing of files sorted by size in reverse order
(listing the biggest ones first). So just what commands are
available? Try the command:
HELP
You are presented with a menu from which you can select DIRECTORY.
This brings up a brief description of directory and tells you that
you can press the F1 key for a list of subtopics. Try it: the
pop-up menu shows a list of all the qualifiers (options) legal for
the directory command. Qualifiers are phrases used to qualify, or
modify, the normal meaning of a command such as DIR. You just used
two of them: /SORT and /REVERSE.
Now what about the program you started in session 0? Press Scroll
Lock and the Session Manager will display a list of your active
sessions. This time the list will show that you have two active
sessions: 0 and 1. You could type a digit in the range 2 through 8
to start another session. Type "0" to select session 0 and the
console will disconnect from session 1 and reconnect to the
original session that is running the application you started
earlier.
Chapter 2. Getting Started 9
The ability to flip between simultaneous sessions is called
multi-tasking. You can control up to 10 simultaneous tasks from a
single terminal (the Session Manager runs as session number 9 so
you have 0 through 8 available for your own use). Multi-tasking
allows you to interrupt one task, work on another for a while, then
return to the first one right where you left off. You can look up
a fact, make a note to your self, or schedule an appointment, then
resume work without having to exit the software you were using.
Multi-tasking also lets you get the computing going on a long
running job, (say a query of a large database), then continue doing
something else (such as word processing) while the computer works
on the first.
The multi-tasking feature of TSX-Lite is somewhat like running
DESQView. You can use TSX to simultaneously run several copies of
bulletin board software such as Wildcat or Spitfire to allow
multi-line connections. And, Microsoft Windows 3.1 can be run as a
task under TSX (see the WIN command on page 163).
In addition to using the Session Manager, you can also switch
between sessions by typing ALT-digit where 'digit' is the session
number or by typing Ctrl-W-digit (hold down Ctrl, press W, release
Ctrl, press a digit to select the session). However, these methods
do not work with some programs that take over keyboard interrupts.
On serial terminals that do not have Scroll Lock or ALT keys, you
should type Ctrl-W-digit to select sessions.
Now that you have gotten started with TSX-Lite you may want to try
a few of the following commands to get a feeling for the system:
"TSXSHELL" (see Chapter 6, starting on page 42), "HELP", "SYSMON",
"FMAN", "SHOW SYSTEM", "SHOW USE", "SHOW TERMINALS", "SHOW MEMORY",
"SHOW PAGING", "SHOW CACHE", "SHOW FILES", "SHOW FSTATUS", "SHOW
ERRORS".
2.4 The TSGEN Program
A program named TSGEN is used to configure TSX for a particular
hardware configuration. There are two files that are manipulated
by TSGEN: the TSX-Lite kernel, C:\TSX32.SYS, and TSX32.GEN in the
TSX system directory (normally TSX32SYS). TSX32.GEN is an ASCII
file that can be edited by any ASCII editor such as the DOS EDIT
program. TSGEN has two modes of operation: batch and interactive.
You start TSGEN in interactive mode by simply typing "TSGEN". In
this mode the first screen will ask you for the name of your system
generation parameter file. Just press Enter to select TSX32.GEN.
Next it will present a menu with the following choices: (1) "Set
Tuning Parameters"; (2) "Manage Equipment List"; (3) "Exit"; and
(4) "Reports". You can use the arrow keys to select one of these
items and press Enter, or you can type the highlighted letter
within an item to select it.
If you select "Set Tuning Parameters" you will be presented with a
multi-screen menu listing each category of tuning parameter (there
are many). The first entry "All parameters" can be selected to see
Chapter 2. Getting Started 10
an alphabetical list of all parameters. TSGEN has extensive help
built into it and you can select a parameter and press F1 to get
information about what the parameter does. Be cautious about
changing parameters that you do not fully understand. See Section
12.4 on page 77 for information about some of the most important
tuning parameters.
If you select "Manage Equipment List" you will be presented with a
list of the devices installed in your computer that TSX is aware
of. Only the device type and controller letter for each device is
displayed. The unit numbers for multi-unit devices are shown on
menus that are selected by typing 'U'. To modify parameters for a
particular device unit (for example a COM port), highlight the
desired device (TTA is the console, TTB is COM1 and TTC is COM2)
and type 'U'. A menu will appear showing each unit associated with
the device (most commonly there will be only one unit). Highlight
the desired unit and type 'U' again and you will be presented with
the first page of a multi-page screen entry form that has each
available parameter for the unit. Move the cursor to any item and
press F1 for help.
Once you finish making changes to tuning parameters and/or device
unit information, type Esc repeatedly to exit from TSGEN. When it
exits, TSGEN applies the changes you have made to the TSX-Lite
kernel file (TSX32.SYS) and updates the ASCII system generation
commands that are stored in TSX32.GEN. The changes take effect the
next time you reboot TSX.
In the "batch" mode of operation, TSGEN reads the system generation
parameter file (normally TSX32.GEN) and applies the commands
specified into it to the kernel file (TSX32.SYS). The batch mode
would be used if you edited TSX32.GEN using a separate editor
rather than using TSGEN in interactive mode. To run TSGEN in batch
mode specify the name of the parameter file as the only argument.
For example, the following command applies the commands in
TSX32.GEN to the kernel:
TSGEN TSX32
There are three versions of TSGEN provided with your TSX-Lite
distribution: TSGEN.EXP, TSGEN.EXE, and MINIGEN.EXE. The TSGEN.EXP
file is the 32-bit version of TSGEN that runs under TSX-Lite. It
is the full featured version of TSGEN and provides both batch and
interactive modes. The TSGEN.EXE and MINIGEN.EXE files can be used
under DOS (when TSX is not running). TSGEN.EXE provides a limited
version of interactive mode with only the ability to change the
tuning parameters (you cannot manage the equipment list).
MINIGEN.EXE operates only in batch mode. It can be used in
situations where the DOS system does not have enough low memory
available to run TSGEN.EXE. It is best to use TSGEN.EXP while
running under TSX-Lite because this version has all features
available and can use as much memory space as necessary.
Chapter 2. Getting Started 11
2.5 Setting Up Multi-Tasking Applications
As you have just learned, TSX-Lite allows you to have multiple
programs running in separate sessions. For most applications you
simply can type Scroll Lock to call up the session manager and
switch between your sessions. However, when a 16-bit DOS program
is executing TSX normally suspends the execution of the program
when you switch away from it and select a different session. The
state of a suspended program is shown as "SPND" by the session
manager and the SHOW JOBS command. The reason that these programs
are suspended is explained in Section 4.2.
In some cases it is important that programs continue to execute
even when your terminal is not connected to their sessions. A good
example of this is a bulletin board system which is to run as a TSX
session while you perform other operations on the same computer.
Another case would be a communications program such as Procomm
which you might wish to switch away from while it is performing a
large file transfer, and have the transfer continue while you
perform other work. TSX fully supports concurrent execution of
multiple sessions but you must use the PMAN program to set certain
attributes for the programs to cause this to happen.
To enable concurrent execution of a program type PMAN to start the
TSX program manager. It will display a list of the currently
"installed" programs (i.e., those for which special attributes have
already been set), and a box showing "Action Keys" that can be
pressed to perform operations. TSX-Lite comes configured with some
popular DOS programs already set up in PMAN. You should review
this list of programs and make sure the disk and directory
specifications correspond to where you have your programs
installed.
Press "A" to add a new program entry. You will be presented with
page 1 of a 5 page information screen set. Fortunately, you will
need to only set a few of the values. Press F1 at any time to get
help about a particular PMAN item.
Enter the full program specification on the first line. This
should include the device name, directory, file name and extension
(EXE or COM). If there is a "starter" program that you initially
run which loads some other program or overlay, you should specify
the name of the starter program -- attributes are set up when TSX
begins running a program and apply to any child program or overlay.
After entering the program name, press Page Down to move to page 2.
Press down arrow to move to the "HOLDPRIO" entry. If you set this
item to "Y" (yes) the program will execute at the same priority as
the session that you are currently attached to. This would be the
appropriate setting for a program such as a bulletin board that is
to continue executing at full speed even when it is not the current
session. If you set the item to "N" (no) the program will continue
to execute when it is not running as the current session but its
execution priority will be reduced to the value specified by the
PRIVIR sysgen parameter. This would be appropriate for
Chapter 2. Getting Started 12
"background" tasks such as compute intensive programs, spread
sheets, etc. You can use TSGEN to change the PRIVIR sysgen
parameter; its default value is 20 whereas the default priority of
the currently active session is controlled by the PRIDEF parameter
whose default value is 50.
Now use down arrow to move to the item labeled "NODWRITE" (be sure
you select the "NODWRITE" item and not "DWRITE"). You must set
NODWRITE to "Y" to enable continued execution when the program is
not the current session. This causes TSX to "virtualize" access to
the video memory area so that the program is not directly accessing
the hardware controller while it is running. This option will work
with programs that perform character type displays (most spread
sheets, data base programs, etc.) but will NOT work with programs
that do graphic displays such as Windows, games, etc. These
graphical programs must have direct access to the video controller
and must be suspended when they are not running in the current
session. If you prefer to have NODWRITE be the default setting for
all programs, you can use TSGEN to set the DEFDWRITE parameter to
0. You can then use PMAN to selectively turn on the DWRITE
parameter for programs that are going to do graphical displays.
A few more entries down is an item labeled "IDLETIME". If you
provide a non-zero value this is the number of hundredths of a
second of CPU time that a program may loop without performing any
other operations before TSX will consider it to be "idle" and give
it a lower priority. For example, if you specify a value of 30000
then if the program runs for 300 seconds (5 minutes) without
performing any operations such as I/O or communications, TSX will
consider it to be "idle" and give it a lower execution priority.
The priority will be increased and the timer reset if the program
performs any I/O operations (including accessing COM ports).
If you have a program that is designed for multi-user operation in
a network environment, you should go back to page 1 and set the
"DOSNET" item to "Y". This causes TSX to tell the program that all
of its disks are remote network disks. Some programs use this as a
signal to perform network record locking which TSX fully supports.
After you set the appropriate options for the program press ESC to
exit from the PMAN program screens back to the initial screen.
Press ESC again to exit from PMAN. Once you exit from PMAN, TSX
will be aware of the attributes you have set for the program and
they will take effect the next time the program starts running.
The attribute values are stored in a file called INSTALL.CMD in the
TSX system directory and are loaded automatically each time TSX is
started. You can use PMAN at any time to change or add program
attributes. See Section 4.6, starting on page 31, for additional
information about installing and tuning DOS programs.
2.5.1 Setting up Wildcat for TSX-Lite
In order to run Wildcat version 3x under TSX-Lite follow these
steps:
Chapter 2. Getting Started 13
1. Install Wildcat under DOS using the WINSTALL and WCMODEM
programs that are provided with Wildcat. Using MAKEWILD,
select the "DOS Share" option for the Network type and set the
COM UART FIFO trigger level to 14.
2. Start TSX-Lite and use the PMAN command to create an entry for
WILDCAT.EXE. Be sure to provide the entire file specification
including the device, directory and extension. In the PMAN
parameter menus set the following items to 'Y' (yes): HOLDPRIO,
NODWRITE, and TTWAIT.
3. To set up you serial port characteristics run TSGEN and select
"Manage equipment list". Highlight the serial (TTx) line to
which your modem is attached and press 'U' to select the unit
menu. From the unit menu press the 'U' key again to modify the
unit's settings. In the qualifiers listing select the correct
speed, enable the phone qualifier, and select the correct
handshaking required for your modem. See Section 2.6.3 on page
17 for additional information about setting up phone lines.
Because of the virtual UART emulation performed by TSX the maximum
communications speed may be slower than it is under DOS. The use
of actual 16550 type buffered controllers reduces the overhead and
improves throughput. See Section 4.9 on page 34 for additional
information about UART emulation.
2.6 Setting up COM Ports
TSX-Lite supports access to the system from both the console
terminal and serial COM ports. TSX-Lite is restricted to
supporting a maximum of two simultaneous users, but more than two
COM ports can be in use simultaneously as I/O devices. For
example, if you log onto the console and run Procomm which uses COM
port 1 to access your modem, another user could log on through
another COM port. This is permissible because there are only two
logged on users -- one at the console and one through a COM port.
Using a COM port as an I/O device does not count as a logged on
user so you could run a BBS system that took over multiple COM
ports as I/O devices and still have two users log on. The
distinction is that a logged on user can type and execute TSX-Lite
commands whereas I/O device connections interact with application
programs.
Note: it is highly recommended that you obtain COM port adapters
that use the 16550 buffering type UART chips. The 16550 UART's
provide 16 characters of buffering in the hardware and greatly
reduce the risk of losing characters during file transfers.
2.6.1 Hardware Connections
You can connect to COM ports through both hard-wired lines and
modems. If you use a hard-wired line connection you must use a
"null modem" device to reverse the transmit and receive signals in
the wire, or you can build your own cable with the transmit and
Chapter 2. Getting Started 14
receive data lines interchanged between the ends. If you wire your
own cable you must connect the following pins on each end:
-- 25 pin connector -- -- 9 pin connector --
2 Transmit data 3 Transmit data
3 Receive data 2 Receive data
7 Signal ground 5 Signal ground
If you use a modem you should connect it to the computer using a
"straight through" connection that includes the lines for RTS, CTS,
DTR, DSR, Carrier detect, and Ring.
2.6.2 Line Setup Options
When you install TSX-Lite it checks for the presence of the COM1
and COM2 serial ports. If they exist it defines TSX I/O units
named TTB0 and TTC0. TTB0 is the TSX name for COM1 and TTC0 is the
TSX name for COM2. Try using the SHOW TERMINALS command to see
that these device names exist. See Section 5.3, beginning on page
39, for additional information about TSX device names.
These serial units may be used as I/O devices by programs such as
Procomm without any further changes. However, if you want to
accept incoming connections and calls from users wishing to log
onto TSX-Lite you may need to use the TSGEN program to set some
parameters for the lines (such as the PHONE attribute).
By default, the serial lines are set up to connect to hard-wired,
ANSI VT-100 type terminals running at 9600 baud. If you wish to
connect a different type of terminal (such as a PC-Term terminal),
or you want to have a different baud rate, or you wish to have
dial-in modem support, you need to use TSGEN to alter the line
definitions. Note: terminal parameters can also be set using the
SET TERMINAL command, but you will have to repeat the commands (or
put them in a start-up command file) if you want them to remain in
effect after TSX-Lite is restarted. See Section 14.87 on page 145
for information about the SET TERMINAL command. See Section 3.1 on
page 23 for additional information about terminal types.
To permanently change a line parameter, start TSX-Lite and log onto
the console terminal. Then type "CD \TSX32SYS" to change to the
system directory and type TSGEN to start the TSX-Lite system
generation program. Press Enter when TSGEN asks for the name of
the GEN file and the Main Menu will be displayed. Type 'M' to
select Manage Equipment List. Use the arrow keys to highlight the
line for device "TTB" (COM1) or "TTC" (COM2) and press 'U' to
select the unit menu. The unit menu should show a single unit
numbered 0. Type 'U' again to set unit parameters. You will be
presented with the first of five screens of parameters that can be
set for the unit. Use the arrow and Page Up/Down keys to move
through the list. You can select any item and press F1 to get help
information for that item. The following items are the ones that
most frequently need to be changed:
Chapter 2. Getting Started 15
SPEED -- Press Enter and a list of available baud rates is
displayed. Highlight the speed you desire and press Enter to
select it. If you are using a "smart" modem that has a fixed
rate of communication to the computer, you should set that rate
as the default speed.
AUTOBAUD -- If you are using a hard-wired connection set this
parameter to 'N'. The SPEED parameter will control the baud
rate. If a modem is connected to the line it is best to set
the modem to communicate with the computer at a fixed rate and
set this parameter to 'N'. However, if you have the type of
modem that communicates with the computer at the same rate as
the connection with the remote machine then you should set this
parameter to 'Y'.
PARITY -- The standard setting for TSX is 8-bits, no parity. Press
Enter and you will be presented with a choice of even, odd, or
no parity.
PHONE -- Set this item to 'Y' if this line is connected to a modem
and you wish to support dial-in logons. See Section 2.6.3 on
page 17 for additional information about setting up phone
lines.
START -- Set this item to 'Y' if you would like to have the line
automatically log on each time TSX-Lite is started rather than
waiting for Enter to be pressed.
SYSPASSWORD -- If you set this field to 'Y' users will be prompted
with the string specified by the SYSPASSPR sysgen parameter
(default is '!') and they must enter a password string that
matches that specified by the SYSPASSWORD sysgen parameter. An
optional TSX-Lite Security Kit is available which includes a
LOGON program to force users to enter a user name and password
to gain access to the system. See REGISTER.DOC for ordering
information. See Section 2.6.4 on page 18 for additional
information about setting up the system password.
LOGON -- If this unit is being used only as an I/O device (e.g.,
serial mouse, modem for dial-out calls, etc.) set this field to
'N' to prevent users from logging onto the line.
CMDFILE -- You may specify the device, directory, and name of a
command file to be executed each time this line logs on. The
default start-up command file is \TSX32SYS\START.CMD.
TERMTYPE -- Press Enter and you will be presented with a list of
terminal types. Highlight the desired terminal type and press
Enter to select it. Here is a summary of some of the terminal
types:
ANSI -- Terminals or terminal emulator programs that handle the
basic ANSI control sequences.
Chapter 2. Getting Started 16
VT100 -- Digital Equipment Corporation (DEC) VT-100 terminal.
Many terminal emulator programs provide VT-100 as an
option. This is the default TSX terminal type. If you
select this terminal type and "trash" characters appear on
the screen after typing the CLS command or after a session
window switch, you should select ANSI mode.
PCTERM -- Serial PC-Term Terminals. These are serial terminals
that have IBM compatible keyboards and transmit make/break
keyboard codes like the console keyboard. They can display
25 lines and support the IBM display character set.
TSXTERM -- Terminal Emulator. The TSXTERM terminal emulator
program, which is provided with TSX-Lite, can be run on a
remote computer that is connected to your TSX-Lite system
via either a hardwired serial connection or a modem. This
is the best type of TSX workstation. See Chapter 11,
starting on page 70, for additional information about
TSXTERM.
If you are configuring a line for dial-in connections from
TSXTERM stations, it is best to set up the line as an ANSI
terminal (use TSGEN and set the terminal type to ANSI or
VT100). Then when you log into the TSX system using TSXTERM
you will initially be in ANSI mode. Once the logon has been
established, issue the following TSX command to switch into
TSXTERM mode: "SET TERMINAL/TYPE=TSXTERM". If you are using
the LOGON program which is part of the TSX-Lite Security Kit,
TSXTERM will shift into TSXTERM mode automatically as part of
the logon process. If you are setting up a dedicated,
hard-wired TSXTERM connection, choose TSXTERM as the default
terminal type. See Chapter 11, starting on page 70, for more
information about installing and using TSXTERM.
HANDSHAKING -- Select XONXON if XON (control-Q, DC1) and XOFF
(control-S, DC3) characters are used for software flow control.
Select RTSCTS for the popular RTS/CTS hardware flow control
protocol.
PRINTER -- Set this item to 'Y' if you have a printer connected to
the auxiliary printer port that is available on some terminals.
MRESET -- You may specify a modem reset string to be sent to the
line whenever a user logs off or a program releases control of
the line. To enter control characters in the string specify
the caret character ('^') in front of the letter. For example,
"^M" means control-M which is carriage return.
Press ESC to exit from the unit parameter screens after you change
the desired settings. Press ESC three more times to exit from
TSGEN. The parameter settings are written to the TSX32.SYS kernel
file and are recorded in the TSX32.GEN system generation parameter
file. You must reboot your computer and restart TSX-Lite to make
them take effect.
Chapter 2. Getting Started 17
Once you have set up your COM lines you can use the SHOW TERMINALS
command to display summary information about all of your lines.
For detailed information use the command "SHOW TTcuu" where "TTcuu"
is a terminal device name such as TTA0 or TTB0. The TMAN command
can also be used to display terminal information.
2.6.3 Setting up Phone lines
The COM ports can be used for modems connected to phone lines as
easily as they can be used for terminals; to TSX, they are both
simply time sharing lines. We have been told that this equivalent
treatment of phone lines and hardwired lines makes TSX modem
support the best in the industry. Specify the PHONE attribute for
a serial unit when you generate the TSX system (see Section 2.6.2
on page 14) or issue a command like
SET TTB0:/PERM/PHONE
This tells TSX that a modem is connected to the port. TSX will
ignore input on a phone line unless carrier is asserted. Also,
when a job logs off of a phone line TSX will drop DTR for a period
of time to force the modem to hang up the phone. See Section 2.6,
starting on page 13, for additional information about setting up
COM ports.
For proper support, a modem must be connected to TSX with a cable
that has modem control signals such as Carrier Detect, Ring, and
DTR wired through. Also, the modem must be set up to only assert
Carrier Detect when a connection is in effect, and it should be set
up so that it hangs up when DTR is dropped.
Most modern modems allow you to select a fixed communication rate
between the modem and the computer so that the modem converts from
the actual baud rate used by the remote computer. If possible, you
should select this mode of operation for use with TSX. However, if
you have a modem that switches its baud rate to match that of the
communications connection, then you should set the AUTOBAUD
parameter for the line to 'Y'.
Most modems come initially configured to not answer incoming calls.
To enable Hayes compatible modems to answer incoming calls you need
to set the modem "S0" register to a value other than 0 (the value
you specify is the ring number to answer on -- 0 means never
answer). To set this "S0" register value you should use a
communications program such as Procomm (or the TSX SET HOST
command) to talk to the modem. You can then issue the following
modem command to set S0 to 1: "ATS0=1". However, this type of
setting only remains in effect until the modem is powered off. To
make the setting permanent, issue the following command:
"ATS0=1&W". This stores the value in the non-volatile RAM memory
in the modem.
If you are having problems getting a phone line working, see
Section 2.6.5 for debugging tips.
Chapter 2. Getting Started 18
2.6.4 Setting Up Password Protection
If you set up a dial-in, phone line for access to your TSX system
you must immediately consider the issue of system security. Since
a dial-in user can potentially run any program, or access any file,
limiting access to authorized users is vitally important. TSX-Lite
comes with a simple "system password" facility that will provide
basic access protection. A more sophisticated security system is
available as part of the TSX-Lite Security Kit.
The basic system password facility is a standard part of TSX-Lite.
Using it you can define a password of up to 31 characters in length
that a user must enter to gain access to the system. There are two
steps to setting up a system password: (1) defining the password
itself, and (2) specifying which lines are to require password
entry to access the system.
To define the system password follow these steps:
1. Start TSX-Lite, switch to the system directory (usually
\TSX32SYS), and run the TSGEN program.
2. Press Enter or type in the name of your 'gen' file in response
to the TSGEN prompt.
3. Select "Set Tuning Parameters".
4. Select "All parameters" (the first item on the list).
5. Type 'S' to position to the first parameter whose name begins
with S. Then use Page down and the arrow keys to position to
the SYSPASSWORD item and press Enter to select it.
6. Enter the string that you wish to use as your system password.
7. Press Esc 4 times to exit from TSGEN.
By default, TSX prompts for the system password by displaying only
an exclamation point. This is done to avoid revealing information
about the nature of the system before the user has entered the
password. If you would like to have a more friendly greeting
message, use TSGEN to set the value of the SYSPASSPR sysgen
parameter to whatever greeting string you choose; it may be up to
31 characters long.
You must also tell TSX which lines are to require entry of a system
password for access. Typically, password protection is set for
dial-in lines but not the console or hard-wired terminal lines. To
require system password entry, follow the steps in Section 2.6.2 on
page 14 and set the SYSPASSWORD parameter for each dial-up line to
'Y'. Remember to reboot TSX-Lite after making these changes to
have them take effect. Also, be sure to test that the password is
working correctly.
Chapter 2. Getting Started 19
The system password facility provides basic system security. If
you plan to have multiple users accessing your system, or even a
single user to whom you do not wish to give unlimited access, you
need the TSX-Lite Security Kit. The Security Kit provides three
utility programs: TSAUTH, LOGON, and FPROTECT. TSAUTH is a program
you, the system manager, use to authorize users for access. You
assign a user name, password, account number, privileges, and
define a start-up command file to be executed when the user logs
on. You can set up many user names, each with a unique password
and set of privileges. The LOGON program can be set to run on
specific lines. It prompts the user for a user name and password,
checks the authorization file, and, if the user is authorized for
access, sets up the appropriate privileges and other attributes for
the user. The FPROTECT program is used in conjunction with FMAN to
set up file access controls. For each user you can control which
files may be accessed. Users can be granted write, read, or
execute-only access to files on a device-by-device,
directory-by-directory, or file-by-file basis.
2.6.5 Monitoring Serial Lines
If you have problems getting a COM line working try the TSX "SPY"
command. The Spy facility is like a "data scope" that lets you
monitor characters sent to or received from a communications port.
It will also display modem status line changes. To use SPY, log
onto the console terminal (or any other terminal than the one you
wish to monitor) and then issue the SPY command to begin
monitoring. Type any character to terminate the SPY operation when
you are finished. For example, the following command line monitors
both input and output to serial line TTB0 which is normally the
COM1 port.
SPY/INPUT/OUTPUT/HEX/BINARY/PHONE TTB0:
If you don't see any characters coming in, check your modem and the
cable from the modem to the COM port (or the null modem cable from
a hardwired serial terminal). If you see "trash" characters such
as "FF" and "00" coming in, check the baud rate setting specified
when you generated the line (the current speed setting is displayed
when you start SPY). If the modem is not answering incoming calls,
see Section 2.6.3 on page 17 for information about setting the
modem "S0" register. If TSX is not hanging up the phone when a
user logs off you probably have not used TSGEN to set the PHONE
attribute for the line or the modem is asserting the Carrier Detect
signal even when carrier is not present. Also, check to make sure
that the modem is set up properly so that it will hang up when DTR
is dropped.
See Section 14.121 on page 158 for additional information about the
SPY command.
Another way to check for serial line errors is to type "SHOW
ERRORS" and see if there are any errors in the SERIAL error log.
If so, type "EVENT SERIAL" to display the error records.
Chapter 2. Getting Started 20
2.6.6 Setting up COM3 and COM4
The installation of TSX-Lite will detect automatically the presence
of the COM1 and COM2 ports and define them as valid TSX I/O
devices. If you have COM3 and COM4 ports installed in your
computer you must use the TSGEN program to inform TSX of their
presence.
To do this, start TSX and use the CD command to select the TSX32SYS
directory as your current working area. Then type TSGEN to start
the TSX system generation program. Press Enter to accept TSX32.GEN
as the default system generation file. From the main menu type 'M'
to select Manage Equipment List. From the Device List menu type
'A' to add a device. From the next menu use the arrow keys to
select the "Serial multiplexors" entry and press Enter. The next
menu shows the complete list of serial multiplexors that the full
TSX-32 system supports. Since TSX-Lite is restricted to supporting
only COM ports, you should use the arrow keys to highlight the
"Dumb serial board" entry. Press Enter and you will be presented
with a data entry screen titled "New device attributes." You can
press F1 to get help for each field of the form.
Press Enter while positioned to the "CONTROLLER" field and a list
of valid controller letters is displayed. Select 'D' for COM3 or
'E' for COM4 ('A' is used for the console, 'B' for COM1, and 'C'
for COM2). Next, use the arrow keys to skip over the "TYPE" file
and move down to the "IO_ADDRESS" field. The standard address for
COM3 is 3E8 and the address for COM4 is 2E8. Some communication
adapters use different addresses so you should consult the
documentation that came with your board. Next move down to the
"INTERRUPT" field. The standard interrupt IRQ number for COM3 is 4
and the standard for COM4 is 3; however, interrupt 4 is also the
standard for COM1 and 3 is the standard for COM2. TSX does not
permit two devices to have the same interrupt numbers so you must
set jumpers or DIP switches on your adapter card to select
different interrupt numbers for COM3 and COM4. Interrupt values 5,
7, 10 and 11 are reasonable choices for additional COM ports.
Consult the documentation for your adapter card for what the
possible interrupt IRQ values are. Once you enter the correct
interrupt number, press ESC to exit from the "New device attributes
field" (you do not need to set values for the other fields on the
screen).
TSGEN will display the message "Type Y if you want to fill in an
example unit." Type 'N' for no. You will now see an updated "TSGEN
Device List" display. Use the arrow keys and highlight your newly
created device (TTD or TTE) and type 'U' to select the "Unit list"
option. You will see the "Unit list for device TTx" screen. Type
'U' again to modify unit settings. You will now be presented with
a screen labeled "Device TTx unit 1". From this point follow the
instructions in Section 2.6.2 for setting line parameters such as
baud rate, etc.
Chapter 2. Getting Started 21
2.7 Setting up Mouse Support
TSX supports the Microsoft serial mouse (or other compatible mice)
attached to a COM port. It does not support bus mouse controllers.
To use the mouse, connect it to a COM port and use an ASSIGN
command of the following form to associate the MOUSEPORT logical
device name with the appropriate serial port:
ASSIGN TTcuu: MOUSEPORT
Where "TTcuu" should be replaced by the appropriate TSX serial unit
name such as TTB0 (COM1), TTC0 (COM2), TTD0 (COM3), or TTE0 (COM4).
Note that the device name MUST end with a colon.
If you wish to have the ASSIGN command executed each time TSX is
started, place the following command in your LSTARTUP.CMD
system-wide startup command file:
ASSIGN/SYSTEM TTcuu: MOUSEPORT
In addition to doing the ASSIGN statement, you should also use
TSGEN to specify the appropriate parameters for the serial COM port
to which the mouse is connected. Follow the instructions in
Section 2.6.2 and set the SPEED to 1200 baud for Microsoft
compatible mice or 2400 baud for 2-button Logitec mice; set the
LOGON parameter to 'N' (no) to prevent random input from the mouse
from causing TSX to try to initiate a job.
See Section 14.136 on page 163 for information about setting up the
mouse for Microsoft Windows.
If you have problems getting the mouse to work, use the command
"SHOW ERRORS" and see if there are any errors in the MOUERR error
log. If so, type "EVENT MOUERR" to display the error records. You
can also use the SPY command to monitor input from the mouse COM
port to confirm that data is being received. See Section 14.121 on
page 158 for additional information about the SPY command.
2.8 Setting up CD ROM Support
TSX-Lite supports CD ROM drives connected to SCSI disk controllers.
Both the ISO and High Sierra CD ROM formats are supported. When
TSX is initially installed it senses automatically the presence of
fixed disk and diskette drives. It does not detect the presence of
CD ROM drives, so you must use TSGEN to declare their presence.
If you have a CD ROM drive with a SCSI controller that you want to
be accessible to TSX, perform the following steps. Start TSX-Lite
and type "CD \TSX32SYS" to change to the TSX system directory.
Type TSGEN to start the TSGEN system generation program and press
Enter to select TSX32.GEN as your gen file. From the Main Menu
type 'M' to select Manage Equipment List. At this point look at
the entries that already exist for disk drives -- all of the disk
Chapter 2. Getting Started 22
names will begin with the letters "DH". The third letter of the
name specifies the logical controller; it is typically 'A', 'B', or
'C'. Note the highest controller letter currently in use. Type
'A' to add a new device. Select "Disk drives" from the device type
list. Select "SCSI CDROM" from the next menu and you will be
presented with a data entry screen for the device. Enter a
controller letter that is beyond the highest one that you noted was
in use from the earlier device list. Enter the SCSI ID to which
the drive is configured and enter "HAA" for the HOST_ADAP item.
Press ESC to exit from the device definition. Next you will be
presented with a screen for entering unit parameters. You must
enter a single letter for DOSDRIVE which corresponds to the disk
letter that you will use to refer to the device. Typically letters
'A' and 'B' are reserved for diskettes, 'C' is used for the first
hard disk, etc. Choose some letter that does not conflict with
with another disk. Press ESC repeatedly until you exit from TSGEN.
You must reboot to have the drive definition take effect.
2.9 Returning to DOS
One of the nice things about TSX-Lite is that you easily can switch
between it and DOS. The preferred way to stop TSX-Lite is to
execute the SHUTDOWN command procedure that is in your TSX32SYS
directory. To execute it simply type SHUTDOWN. The SHUTDOWN
procedure stops all jobs and performs an orderly shutdown; this
normally takes about 30 seconds to complete. When it finishes it
displays the message "System ready for shutdown. You may type BOOT
to reboot." At this point you can type the BOOT command or simply
press the Reset button to reboot DOS. If you don't want to wait
for the SHUTDOWN procedure to run, simply exit from application
programs and type BOOT or press the Reset button.
Chapter 3
Terminal Operations
3.1 Terminal Types
TSX-Lite supports several types of terminals, giving you
considerable flexibility in configuring systems. The following
list summarizes the different terminal types.
Console terminal -- The console terminal is the display device that
is directly connected to your computer through a MDA or VGA
display adapter. TSX-Lite supports only a single console
station. The full TSX-32 system supports multiple consoles
connected through console multiplexer adapters.
Serial ANSI Terminals -- These terminals transmit and receive the
ANSI standard characters and control sequences. Examples of
ANSI terminals are the Digital Equipment Corporation VT-100,
VT-200, and VT-300 series terminals. These terminals usually
do not have an IBM compatible keyboard (they do not have all of
the function keys) and they can usually only display 24 lines
of text.
The "ANSI" TSX terminal type is a subset of VT-100. DEC VT-100
terminals have attributes such as scrolling regions and graphic
character sets that are not implemented by most ANSI terminal
emulators. You should use the ANSI terminal type when running
with ANSI terminals or emulator programs that do not provide
the full VT-100 control sequence emulation.
TSX provides some keyboard mapping to make it possible to run
DOS programs from these terminals. To type DOS function key on
a DEC VT type terminal press F20 followed by a digit (for
example, F20 followed by 2 generates the IBM code for F2). For
shifted, control, and ALT functions, type F17 for shift, F18
for control, or F19 for ALT, followed by F20-digit. For
example, to generate ALT F3, press F19, F20, and then 3 on the
typewriter portion of the keyboard. Press the "Do" key to
generate an ESC.
If you run a program that has a 25 line display only 24 lines
will be displayed at a time. Type control-V to shift the
screen so that the additional line can be seen.
23
Chapter 3. Terminal Operations 24
Serial PC-Term Terminals -- These are serial terminals that have
IBM compatible keyboards and transmit make/break keyboard codes
like the console keyboard. They can display 25 lines and
support the IBM display character set. These terminals are
much better suited for running DOS applications than ANSI
terminals. Examples of PC-Term terminals are Relisys and Wyse
WY-150. If you have one of these terminals you should use
TSGEN and set the TERMTYPE for the line to PCTERM or RELISYS.
TSXTERM Terminal Emulator -- The TSXTERM terminal emulator program,
which is provided with TSX-Lite, can be run on a remote
computer that is connected to your TSX-Lite system via either a
hardwired serial connection or a modem. This is the best type
of TSX workstation. See Chapter 11, starting on page 70, for
additional information about TSXTERM.
3.2 Terminal Input Editor
As you type TSX commands they are stored in a recall list so that
you can easily recall and reexecute commands. This is useful if
you make a typing error and want to recall, edit, and reexecute the
last command. You can also recall previous commands simply to
avoid retyping them.
There are two ways to recall commands, the simplest is to simply
press the up-arrow key (or F3). Each time you press up-arrow an
earlier line in the recall list is displayed. Once the desired
line has been recalled, press Enter to execute it. You can press
down-arrow to move in the opposite direction through the recall
list. The second way to recall saved commands is to use the RECALL
command which is described in Section 14.65 on page 127. See also
the description of the SET EDIT command in Section 14.75 on page
137.
In addition to recalling previous lines, the Terminal Input Editor
allows you to edit lines. To do this use the left- and right-arrow
keys to position the cursor where the edit is to take place and
then type characters to be inserted or use the Backspace or Delete
keys to remove characters. The Home and End keys will move the
cursor to the left or right end of the line. You can type
Control-A to switch between insert and overstrike edit modes.
3.3 Control Characters
Certain control characters have special meaning to TSX. They are
entered by holding down the "Ctrl" key while pressing the selected
character.
If you have a program that needs to receive one of these characters
for its own functions, you can use the PMAN program to install the
application and specify that selected control characters are to be
passed directly to the program rather than being interpreted by
TSX.
Chapter 3. Terminal Operations 25
. Control-\ -- Terminates a cross-connection initiated by the SET
HOST command (see Section 14.78).
. Control-A -- Switch the terminal input editor between insert
and overstrike modes.
. Control-B -- If you enabled the TSX print window facility, this
character causes the contents of the screen to be printed. It
has the same effect as pressing "Print Screen". If you did not
enable the print window facility when you installed TSX you can
enable it by using TSGEN to set the DOWINPRNT sysgen parameter
to 1. See Section 14.83 on page 142 for additional
information.
. Control-C -- Aborts the current program. If the program is not
reading characters from the terminal, you must type control-C
twice to abort it.
. Control-O -- Suppresses program output to the terminal until
one of the following conditions occurs: (1) a second control-O
is typed; (2) the program stops.
. Control-Q -- Resumes output to the terminal after output was
suspended by typing control-S.
. Control-S -- Suspends terminal output until control-Q is typed.
. Control-T -- Displays at your terminal a line of information
showing the status of your job.
. Control-U -- Deletes all characters on the current input line
to the left of the cursor position.
. Control-V -- If you are running a program that uses 25 to
display information on a serial terminal that only has a
24-line display, control-V shifts the display up or down so
that you can see the hidden line.
. Control-W -- Type control-W followed by a digit to switch
between your TSX window sessions.
. Control-X -- Deletes all pending terminal input characters
including characters you typed ahead which have not yet echoed.
. Control-Z -- Indicates "end of file" to programs reading input
from the terminal.
. Backspace (or Delete) -- Deletes the character to the left of
the cursor.
. Up-arrow -- Recalls previous command lines.
. Down-arrow -- Moves downward through saved command lines.
Chapter 3. Terminal Operations 26
. Left/Right-arrow -- Moves the cursor within the current command
line for editing purposes.
. Delete -- Deletes the character the cursor is positioned on.
. Home -- Moves to the left end of the current command line.
. End -- Moves to the right end of the current command line.
. Print Screen -- If you enabled the TSX print window facility,
this character causes the contents of the screen to be printed.
If you did not enable the print window facility when you
installed TSX you can enable it by using TSGEN to set the
DOWINPRNT sysgen parameter to 1. See Section 14.83 on page 142
for additional information.
. Scroll Lock -- Call up the TSX Session Manager so that you can
select which window session you want to connect your terminal
with.
3.4 Screen Saver
TSX features a "console screen saver" feature which causes the
console to be darkened after a period of inactivity. This helps
lengthen the lifespan of the console display. The screen saver
only affects the console display, not serial terminals. When the
screen saver blanks the console you can press any key (including
Shift) to cause the display to be reenabled. By default, the
console will be blacked out after 20 minutes of inactivity. This
time period can be modified by using TSGEN to set the CONSSTIME
parameter to the number of minutes before blanking occurs. You can
set CONSSTIME to 0 to disable the screen saver.
3.5 Communication Lines
Your serial COM ports can be used in two ways under TSX: (1) as a
timesharing line through which you can log on and run programs, or
(2) as a "communication" line which is simply an I/O device used by
a program to access some peripheral device such as a serial printer
or modem.
TSX allows the same COM port to be used part of the time as a
communication line and at other times as a timesharing line. A
good example of this is a line connected to a modem. During part
of the day remote users can call in and log on through this line.
At other times, when no one is logged onto the line, the line can
be used as a communication line when a program such as Procomm is
running and wants to access the modem. A port would also be used
as a communication line when a bulletin board was running and using
the line to accept incoming calls.
When a user is logged onto a timesharing line, attempts by a
program to allocate the line as a communication line will be
Chapter 3. Terminal Operations 27
rejected. Conversely, when a line is in use as a communication
line, TSX will not attempt to receive incoming calls or log a user
on because control of the line has been relinquished to the
application program. When the program exits the line becomes free
and TSX will then log a user on when an incoming call arrives or a
user presses Enter on a hardwired line. If you wish to reserve a
line as a communication line so that users may not log onto it, use
TSGEN and set the LOGON parameter for the serial unit to 'N' (no).
See Section 2.6.2 for information about doing this.
If you issue a SHOW TERMINALS command the Status column will show
"Logged on" if someone is currently logged onto the line as a
timesharing line, "I/O device" if a program is using the line as a
communication line, or "Logged off" if the line is free.
3.6 International Keyboard Support
PC keyboards available in different countries have different
layouts and produce different characters than American keyboards
do. Under DOS, an alternate "keyboard driver" is loaded to alter
the key definitions. In TSX, alternate keyboard definitions are
loaded from external control files called ".KEY files" since their
extension is .KEY.
The .KEY files used by TSX have the advantage that they can be
edited with any text editor. Hence, it is possible to create new
key files or alter the definitions of keys without obtaining
additional drivers.
For an alternate key file to take effect, it must be loaded with
the KEYLOAD command, as in:
KEYLOAD ITALY
This command is normally placed in the site's LSTARTUP.CMD command
procedure so that keyboard definitions are correct for the country
each time the system boots.
It is also possible for separate lines to have separate keyboard
definitions, in the event that one computer is used by people with
different keyboards. The use of the /LINE qualifier to the KEYLOAD
command causes the loaded .KEY file to only change the terminal
from which the command was issued.
Your TSX distribution includes the following .KEY files: US.KEY,
GERMAN.KEY, ITALY.KEY, FRENCH.KEY, and SPANISH.KEY. US.KEY is
provided as an example; it is not necessary to use KEYLOAD for U.S.
keyboards.
You can use .KEY files to alter the definition of any key in any
shift state. The format of the file is documented in system file
US.KEY, which also documents the keyboard tables which TSX comes
preloaded with.
Chapter 4
Running DOS Programs
TSX is designed to support modern 32-bit application programs and
there are development tools available to write 32-bit programs for
TSX in virtually all of the modern programming language. However,
at this point you may not have any 32-bit applications and just
want to run your favorite 16-bit DOS applications. Before
proceeding, however, you should understand just a little bit about
how DOS applications are supported in TSX.
Under TSX, each DOS program is run in "virtual 8086 mode." This
means we fool the program into thinking it is running on a DOS
computer with 640Kb of memory (plus EMS and XMS). TSX also
supports programs that use the DPMI services to enter protected
mode. In this mode, most 16-bit DOS programs run well under TSX --
some even run faster under TSX than DOS. However, there are some
"dirty" DOS programs that do sneaky tricks under DOS (such as
poking around in the operating system or directly messing with the
hardware) that will run poorly, or not at all, under TSX.
TSX is a true 32-bit, protected mode operating system. "Protected
mode" means that the operating system and its components are
protected from harm by errant applications. If a program tries to
step outside of its bounds, the operating system will terminate the
program. This greatly reduces the chances of system "hangs" and
"crashes" and prevents one application program from disturbing the
execution of another.
However, protected mode prevents the execution of some programs
such as SpinRite, Norton's Disk Doctor and SD, CHKDSK, DOS 16-bit
device drivers, and other programs that attempt to directly control
the computer hardware. This type of program will have to be run
under DOS at a time that TSX is not in control.
4.1 Installing and Tuning DOS Programs
You should use the same procedure for installing DOS programs under
TSX as you would under DOS itself. In fact, it is a good idea to
install new programs under DOS and verify their operation before
using them with TSX.
Once a program is up and running you may wish to use the TSX PMAN
command to specify various tuning parameters for the program to
optimize its execution under TSX. The PMAN command allows you to
28
Chapter 4. Running DOS Programs 29
associate attributes with programs so that the attributes are used
by TSX whenever the program is executed. Attributes that may be
specified for a program include the maximum memory space that the
program may use, privileges to be granted to the program while it
is running, and many other options.
A program whose attributes have been specified using PMAN is
referred to as having been "installed" in TSX. Many attributes can
be set with PMAN, some of which can have a dramatic effect on the
performance of programs running under TSX. However, it is not
necessary to "install" most programs with PMAN in order to use them
with TSX; PMAN simply specifies parameters that tune the execution
of a program under TSX. See Sections 2.5 and 4.6 for information
about several important tuning parameters.
When you use PMAN to associate attributes with a program the
attribute settings take effect immediately (you do not need to
reboot TSX). In addition, PMAN updates a file in the TSX system
directory named INSTALL.CMD with information about the attributes
for each program. The INSTALL.CMD file is executed automatically
each time TSX is booted so the attributes will remain in effect
over system restarts.
4.2 Direct Write Programs
There are two basic methods used by programs to display information
on the screen. Either they perform system services to cause TSX
(or DOS) to display the information or they directly program the
video memory and control registers. Many DOS programs directly
access the video memory and registers -- this is especially true of
programs that perform graphics. TSX supports programs that use the
display system services as well as those that directly access the
video hardware. Programs that do direct video access (bypassing
the operating system) are called "direct write" programs.
The TSX process windowing facility operates differently depending
on whether it is running a direct write program. Because direct
write programs control the display themselves -- behind the back of
the operating system -- TSX must suspend their execution when they
are not in the session currently connected to the screen and
keyboard. Other programs that do not perform direct writes are
allowed to continue executing even when their session is not
connected to the screen and keyboard. If you have an application
that does not do graphic display and which you would like to have
continue executing even when it is not connected to the console,
you can start it by using the following command:
RUN/NODWRITE program
or you can use the TSX PMAN command to "install" the program with
the NODWRITE attribute which will be invoked automatically each
time the program is executed. See Section 2.5, starting on page
11, for additional information about setting up multi-tasking
applications.
Chapter 4. Running DOS Programs 30
If you prefer to have NODWRITE be the default setting for all
programs, you can use TSGEN to set the DEFDWRITE sysgen parameter
to 0. You can then use PMAN to selectively turn on the DWRITE
parameter for programs that are going to do graphical displays.
4.3 DOS Environment Variables
When you begin execution of a 16-bit program, TSX creates an
"environment block" for the program containing information about
all symbols defined by use of the command "SET symbol". The form
of this command is
SET[/SYSTEM] symbol=string
For example, the following command creates a DOS environment
variable named CL and assigns a string of options to it:
SET CL = /Od /Zi
If you specify the /SYSTEM qualifier, the symbol is defined for all
users and jobs; otherwise, it only applies to your job. If you
want to put SET commands in the TSX LSTARTUP.CMD system-wide,
start-up command file, be sure to use the /SYSTEM qualifier or the
SET commands will apply only to the startup initialization job and
not to other users and jobs.
4.4 16-bit Program Device Names
DOS treats the file names CON, PRN, AUX, and NUL specially (note:
these are file names, not device names because there is no trailing
colon). If one of these file names is specified, the channel is
opened to a device rather than a disk file. For compatibility, TSX
also handles these file names specially and converts them into
device names as shown below:
CON --> TT:
PRN --> LPT1:
AUX --> AUX:
NUL --> NL:
You may use an ASSIGN command to associate the logical device names
LPT1 and AUX with the actual devices, spooled print queues, or
files of your choice. If a 16-bit program attempts to open a
channel to device or AUX: and no such logical device name has been
defined, TSX directs the output to a disk file named STDAUX.LST.
For example, the following command assigns the name LPT1 to a
spooled printer queue named LJPRINT:,
ASSIGN LJPRINT: LPT1
Chapter 4. Running DOS Programs 31
4.5 Support for COMMAND.COM and TSR Programs
TSX provides support for some Terminate and Stay Resident (TSR)
programs such as Btrieve and Sidekick. In order to use a TSR
program, you must run the DOS COMMAND.COM command processor and
then use it to load the TSR program and execute programs that use
the TSR program. To do this, begin by running the COMMAND.COM
program by issuing the TSX "DOS" command.
Note that it is not necessary to issue the DOS command in order to
run 16-bit programs with TSX. Whenever you run a program under
TSX, it checks to see if the program being started is a 16-bit or
32-bit program and automatically shifts into the correct mode for
the program. You do not even have to be aware of whether a 16-bit
or 32-bit program is executing. When a 16-bit program exits,
control returns to the 32-bit TSX command processor.
However, there are two cases where it is useful to be able to run
the DOS command processor: First, if you wish to run a 16-bit TSR
program such as Sidekick or Btrieve, it is necessary to establish a
16-bit environment that will not be terminated when the TSR program
exits. Second, you may wish to run COMMAND.COM so that you can use
DOS commands or execute DOS BAT (batch) files that use commands not
supported by the TSX command processor.
While COMMAND.COM is running, you can issue DOS commands, execute
BAT files, and run other 16-bit programs. You may not run 32-bit
programs or execute TSX specific commands such as FMAN until you
exit from COMMAND.COM. If you run a TSR program, the program will
be loaded into memory, initialize itself, and then exit to
COMMAND.COM without freeing its memory area. Other programs can
then be run which interact with the TSR program that is still in
memory.
Type the EXIT command to COMMAND.COM when you are ready to exit
from it. When you exit from COMMAND.COM to the TSX command
interpreter (and the native 32-bit environment), the 16-bit program
environment is released and memory space used by TSR programs is
freed. Thus, if you want to run other programs that use the TSR
you must get back into the 16-bit environment by running
COMMAND.COM again and reloading the TSR programs.
If you plan to make heavy use of TSR programs in a 16-bit
environment, the best approach is to switch to a subprocess (by
typing control-W-digit), issue the DOS command to run COMMAND.COM,
load TSR programs, and then switch back to a subprocess in the
32-bit environment when you want to run 32-bit programs rather than
stopping and restarting COMMAND.COM.
4.6 Controlling DOS Program Input Loops
TSX provides a number of tuning parameters that can improve the
performance of DOS programs -- especially on heavily loaded
systems. However, most of the time the standard TSX scheduling
Chapter 4. Running DOS Programs 32
does a very good job and it is not necessary to specially tune or
install programs. Unless you are experiencing performance problems
you may wish to skip the following sections on tuning, especially
on the first reading.
Well behaved programs suspend their execution while idle by using
one of the system services that wait for terminal input. However,
many DOS programs have an idle loop that checks for pending
terminal input without waiting, and then, if no input is pending,
loop back and check again. This causes the program to burn up CPU
time while it is waiting for terminal input and places an
unnecessary burden on the system.
You can detect programs that behave this way by using the SYSMON
command or repeatedly executing the SHOW SYSTEM command from
another time-sharing line to display information about a program
that is in an idle state waiting for terminal input. If the
"State" of the job is continuously shown as "CPU" and the "CPU
time" value is increasing steadily, then the program is in a loop
while waiting for terminal input.
TSX provides several program execution attributes that may be used
to "tame" DOS programs that loop while waiting for terminal input.
The TTWAIT and TTCKIO attributes provide basic control over looping
programs and may be associated with the program using the PMAN
command. Three other attributes, MAXTTCHK, MAXTTIOCHK, and
TTHANGTIME may be used with the PMAN command to provide more
precise control.
When a program is executed with one or more of these attributes
specified, TSX uses a counter to tally the number of times the
program checks for terminal input without waiting. The counter is
reset when terminal input is received or when the program performs
other system services such as reading, writing, updating the
screen, etc. If the TTWAIT attribute is specified and the program
performs more terminal input checks than the value specified by the
MAXTTCHK attribute (or the MAXTTCHK sysgen parameter if the
MAXTTCHK attribute is not specified), without doing any other
system services, the program is suspended for the length of time
specified by the TTHANGTIME attribute (or the TTHANGTIME sysgen
parameter if the TTHANGTIME attribute was not specified), and then
is allowed to check for terminal input until the counter again
exceeds the MAXTTCHK attribute.
The TTCKIO and MAXTTIOCHK attributes have a similar effect to
TTWAIT and MAXTTCHK, but modify the number of times that terminal
input checks may be performed after a disk I/O operation. If
TTCKIO is specified, the program is allowed to perform the number
of terminal input checks specified by the MAXTTIOCHK attribute (or
the value of the MAXTTIOCHK sysgen parameter if the MAXTTIOCHK is
not specified) after each disk I/O operation.
If you have a program which is continuously in the CPU execution
state while waiting for terminal input, try using PMAN and
installing the program with the TTWAIT attribute turned on. If
Chapter 4. Running DOS Programs 33
this causes its execution to slow down, try experimenting with
different values for the MAXTTCHK attribute.
As an example, assume that you are trying out a new DOS
application, named HEW, under TSX. The program runs fine, just as
it would under DOS. However, other users complain that their
processes run significantly slower while HEW is executing. You
presume that HEW is needlessly looping for terminal input while it
is idling, so you use PMAN to install the program with the TTWAIT
attribute to eliminate CPU waste. Unfortunately, this causes HEW
to run too slowly, so you need to fine-tune its operation, using
the MAXTTCHK attribute.
Generally, by using this procedure you can greatly reduce the CPU
time used by idling programs without having any adverse affect on
response time. However, a few programs have pathological behaviors
that cause problems. WordPerfect is a good example. Normally,
WordPerfect checks for keyboard input a few times after each
character is typed and the MAXTTCHK attribute is adequate.
However, when performing some operations such as a mailing list
merge, it checks for keyboard input many times while performing
merging tasks and it does not perform any other system services
which would reset the terminal input check counter. The result is
that TSX "thinks" WordPerfect is in its idle loop and suspends it
periodically. This significantly slows down the merge operation.
To handle this case, you may type control-W '+' (control-W followed
by a plus sign) to cause TSX to temporarily allow an unlimited
number of terminal input checks without suspending the program.
Type control-W '-' (control-W followed by a minus sign) to reenable
standard terminal input check suspension. When you type control-W
'+' a timer is started; if you do not type control-W '-' before the
amount of CPU time specified by the NOWAITTIME sysgen parameter
elapses, the terminal input check suspension is reenabled just as
if you had typed control-W '-'. Another system generation
parameter, NOWAITCNT, causes the effects of control-W '+' to be
canceled after the specified number of characters are typed. The
bell is rung at your terminal when control-W '+' is canceled. The
NOWAITTIME sysgen parameter is specified in units of 0.01 seconds
and the default value is 30,000 (5 minutes). The default value of
NOWAITCNT is 100.
4.7 IDLETIME Attribute
If you are unable to "tame" a program by use of the TTWAIT
attribute, there is one other method available. If PMAN is used to
install a program with a non-zero value for the IDLETIME parameter,
then TSX starts a timer each time the program begins computing.
The timer is reset when the program does terminal I/O, or other
system services. If the time value exceeds the value of the
IDLETIME parameter specified for the program, the program's
execution state is reduced from the normal CPU state to a lower
priority state called LOCP. In this state the program continues to
execute but because it is at a reduced priority it does not
Chapter 4. Running DOS Programs 34
interfer with the execution of normal priority jobs, including
those in the standard CPU compute-bound state. The idle timer is
reset, and the program is restored to normal priority, when a
character is received or a system service is executed. If this
parameter is given the value 0, the program is allowed to compute
indefinitely without being classified as idle.
In selecting a value for the IDLETIME attribute, it is important
that you do not choose a value which is so low that legitimate
computation performed by the program causes it to be placed in the
LOCP state. Obviously, this is dependent on the nature of the
program and will require some experimentation to optimize.
However, a reasonable starting point would be in the range of 10
seconds, which corresponds to an IDLETIME parameter setting of 1000
since it is specified in units of 0.01 seconds.
It is suggested that you use the MAXTTCHK and MAXTTIOCHK to try to
tame a program before resorting to using IDLETIME.
4.8 Printer Flush Sysgen Parameters
Some DOS programs open printer output, write some characters, and
leave the printer open until they exit. This causes the printer to
be tied up by the job, blocking output by other users. TSX
provides two system generation parameters to alleviate this
situation: DOSLPTTIME and DOSLPTCLSTIME. The DOSLPTTIME sysgen
parameter causes output to be flushed to the printer after the
specified number of seconds, but the printer is held for use by the
job. The DOSLPTCLSTIME sysgen parameter causes data to be flushed
to the spooled printer and then releases the printer for use by
other users. The printer will be reclaimed by the job when it
generates more output and it is not in use by another job. The
DOSLPTCLSTIME parameter specifies that if the printer is idle for
the number of seconds (i.e., no characters are written by the
program) it is released. The timer controlled by DOSLPTCLSTIME is
reset each time the program writes to the printer.
See Section 2.5, starting on page 11, for additional information
about installing and tuning DOS programs.
4.9 Virtual UART Support
In order to support a variety of serial adapter types, including
"smart" serial adapters, TSX has to emulate the operation of the
actual hardware devices and make all adapter types look like simple
UART COM ports for communication programs that perform direct COM
port I/O. This emulation forces TSX to intercept all IN and OUT
instructions performed to the COM port control registers and
convert them into the appropriate commands depending on the type of
serial adapter actually in use. This emulation allows programs
like Procomm and BBS software to use any serial line on any type of
adapter that is supported by TSX even though these programs do not
understand how to control the actual hardware. TSX makes it "look"
Chapter 4. Running DOS Programs 35
like a 16550 UART type COM port. This emulation works well but may
result in high-speed communications being slowed down because of
the emulation overhead. The use of actual 16550 type buffered
controllers reduces the overhead and improves throughput.
4.10 Expanded Memory Support (EMS)
TSX supports the Expanded Memory Specification (EMS) version 4.0
developed by Lotus/Intel/Microsoft. Under DOS, expanded memory
support is provided by a handler such as EMM386. Under TSX,
expanded memory support is an integral part of the system and
EMM386 should not be loaded when TSX is started.
By default, 16-bit programs may access an amount of expanded memory
space defined by the EMSDEFPGS sysgen parameter. (Note: each TSX
user has this much expanded memory space available). You can use
the SET PROCESS command to control the amount of expanded memory
space you want to make available to programs you run. The form of
this command to control expanded memory space is:
SET PROCESS/EMS=value
Where value is the number of K-bytes to make available in expanded
memory. The maximum value that may be specified is limited by the
EMSMAXPGS sysgen parameter. If the value is set to 0 (zero) EMS
support is disabled for the process.
4.11 Extended Memory Support (XMS)
TSX supports the Extended Memory Specification (XMS) version 2.0
developed by Lotus/Intel/Microsoft. Under DOS, extended memory
support is provided by a handler such as HIMEM.SYS. Under TSX,
extended memory support is an integral part of the system and
HIMEM.SYS should not be loaded when TSX is started.
TSX is a "virtual memory" operating system. This means that
programs can potentially use more memory than physically installed
in your computer. In other words, you could run a program that
needs 8 MB on a computer that only has 4 MB installed. When a
program uses more memory than is available, TSX uses a technique
called "demand paging" to keep in memory the most recently accessed
memory pages. The other pages are stored in a page file named
PAGEFILE.TSX in the TSX system directory. The size of the page
file is controlled by the PGFILSIZ sysgen parameter.
The maximum virtual memory space available to each program is
controlled by the MAXP0MEM sysgen parameter. This parameter
specifies the size in 1k units and the default value is 8192 which
corresponds to 8 MB. If you run programs that need more memory
space than this you can increase the MAXP0MEM parameter up to a
maximum of 32768 which corresponds to 32 MB. The value of MAXP0MEM
limits the total memory space available to each program and
includes both the 640Kb low memory area and any EMS and XMS
Chapter 4. Running DOS Programs 36
(extended) memory used by the program. The disadvantage of
assigning a very large number to MAXP0MEM is that some programs use
all available memory space. With TSX's virtual memory system they
will be allocated more memory than they actually need and this can
result in excessive memory paging and poor performance.
If you want to allow a potentially large virtual memory space but
limit the space to a smaller value for a particular program, you
can use the PMAN command to install a program and set a MAXMEM
value that is smaller than the global limit. You can also limit
your virtual memory space by use of the SET PROCESS command. The
form of this command is
SET PROCESS/MAXMEM=value
Where "value" is the total number of K-bytes of memory space to be
made available to the program (including the 640Kb low memory
region). The maximum value specified may not exceed the value of
the MAXP0MEM sysgen parameter.
4.12 DPMI Support
TSX supports version 0.9 of the DOS Protected Mode Interface
standard including the Microsoft DOS extensions. DPMI is an
industry standard that allows programs to run in a DOS environment
and use both 16-bit and protected 32-bit modes of operation. TSX
serves as a DPMI "host" and provides the INT 31 services. DPMI
support is a standard part of TSX and DPMI extenders do not have to
be loaded to run DPMI programs under TSX.
4.13 Phar Lap Native System Services
In addition to DOS, BIOS, and DPMI support, TSX also provides two
32-bit Application Program Interfaces (API). The first of these is
compatible with the services provided by the Phar Lap DOS extender.
These are basically the DOS INT 21 services extended to use 32-bit
register values and addresses. The Phar Lap EXP executable program
image structure is used by TSX executable programs. These programs
run in protected mode and access a 32-bit "flat" memory address
space. 32-bit compilers and linkers designed for use with Phar
Lap, such as MetaWare High C, and NDP Fortran, also run with TSX
and produce 32-bit EXP files that run directly under TSX without
requiring any extender products.
The "native" API for TSX provides a 32-bit flat memory address
space and over 200 system services designed for the development of
advanced 32-bit applications. These system services provide
functions such as "forking" subtasks, performing no-wait
asynchronous I/O, facility locking, process control, and advanced
memory management. The full TSX-32 product also includes system
services for real-time program control.
Chapter 4. Running DOS Programs 37
Both the Phar Lap and native TSX system service sets are provided
in TSX-Lite. The native system services are described in the
TSX-32 System Services manual. See REGISTER.DOC for information
about ordering the Programmers Kit if you are interested in
developing programs that use the TSX native system services.
Chapter 5
The TSX Command Language
5.1 Command Qualifiers
TSX is a command-driven operating system. System commands are, in
many cases, actual programs that perform services for you. In some
cases a "front-end" has been provided to simplify the use of these
programs.
In many cases, the names of TSX system commands are the same as
their counterparts in the DOS world. However, TSX commands usually
have a rich supply of command "qualifiers" which extend their power
far beyond DOS. Qualifiers are keywords you may add to the command
to fine-tune what it does. You may add as many qualifiers as you
wish to a command, simply separating them with the slash ('/')
character.
For example, you are probably familiar with the DOS DIR command
which displays information about the files on a disk. In TSX there
are (at last count) 45 qualifiers to the DIR command. Here are a
few examples:
. All files sorted in name order:
DIR/SORT=NAME
. All files in date order, most recent first, names only:
DIR/SORT=DATE/REVERSE/BRIEF
. All files created since yesterday:
DIR/SINCE=YESTERDAY
All files created before January 1, 1993:
DIR/BEFORE=1-JAN-1993
. All files except those with the extension ".BAK":
DIR/EXCLUDE=*.BAK
. All files whose names begin with 'A' and end with 'X':
38
Chapter 5. The TSX Command Language 39
DIR A*X.*
5.2 Wildcard Specifications
TSX provides a more powerful form of wildcard file specification
than DOS. In addition to being able to use a "*" (match any)
wildcard character at the end of a file name, you can also use "*"
characters within file names. For example, the specification "A*C"
would match any file that begins with the letter 'A' and ends with
the letter 'C'. The pattern "*X" would match any file that ends
with the letter 'X'.
TSX also allows you to use wildcard matching characters in
directory names. In addition, TSX allows you to use the special
directory specification "\...\" which means "and all subdirectories
below this level." For example, the command
DIR C:\...\*.*
would list all files, in all directories on the C disk. The
command
SEARCH C:\WORK\...\*.C "Cappannari"
would search for the string "Cappannari" in all files with the
extension ".C" in the WORK directory and all subdirectories below
WORK. The "\...\" construct is especially handy in operations like
DIR, DELETE, COPY, SEARCH, and BACKUP.
5.3 TSX Device Names
Former DOS users are sometimes confused when they discover that
peripheral devices do not always have the same names under TSX that
they have under DOS. This is necessary because TSX can support
many more devices than DOS.
A TSX device name has the form 'ddcuuu' where 'dd' is a two letter
device type, 'c' is a letter that designates a device controller,
or physical unit in the case of disk drives, and 'uuu' indicates
the individual unit, or partition in the case of disks. If the
controller letter is omitted, it defaults to 'A' (the first
controller); if the unit number is omitted, it defaults to 0 (the
first unit).
The following is a table showing the various TSX device type names:
Chapter 5. The TSX Command Language 40
Name Device type
---- ---------------------------------------
DF Floppy disk (diskette)
DH Hard (fixed) disk
DV Virtual (RAM) disk
LP Printer on parallel port
MB Mailbox
NL "Null" device. (Like DOS NUL).
TT Terminal lines (console or COM ports).
For compatibility with DOS, TSX also recognizes single-letter disk
names such as 'A' and 'B' for floppies, and 'C', 'D', etc. for
fixed disks. For example, the primary fixed disk (drive 'C') has a
TSX name of 'DHA0' but can also be addressed as 'C'. The console
terminal is named 'TTA0', the serial port connected to COM 1 is
'TTB0' and COM port 2 is 'TTC0'. Device names MUST be followed by
a colon or they will be considered to be file names rather than
device names. For example, "NL:" is the null device and "NL" is a
file named "NL".
Spooled printer "queues" have names similar to device names. This
is explained in Chapter 8.3.
5.4 Internal and External Commands
The command processor for TSX is a program named TSKMON.EXP. Like
COMMAND.COM under DOS, TSKMON processes many commands internally
(such as SHOW SYSTEM) while other commands are actually programs
that get run (such as DIR). When you type a command, TSKMON first
checks to see if it is an internal command. If it's not, it checks
for command procedures or programs with the specified name, so that
if you type ARGLE, TSKMON searches for ARGLE.EXE, ARGLE.BAT, and so
forth. To be precise, a set of directories (first your current,
then the system directory, then any directories specified by the
search path) is searched in order. In each directory, the
following files would be looked for:
ARGLE.CMD
ARGLE.EXP
ARGLE.COM
ARGLE.EXE
ARGLE.BAT
For more information on the search path, see HELP PATH.
If you are unsure what command TSKMON is actually finding, you
could use the following sequence:
SET LOG/FILE=X.LOG
SET PROCESS/CMDTRACE
ARGLE
(TSKMON finds ARGLE)
SET LOG/CLOSE
Chapter 5. The TSX Command Language 41
The SET LOG commands create a log file containing all output sent
to your terminal (this is an example of the many debugging
facilities built into TSX to help you analyze program behavior).
The SET PROCESS/CMDTRACE command tells TSKMON to report on its
efforts to find ARGLE.BAT, ARGLE.COM, etc.
Chapter 6
The System Menu
TSX comes with a menu shell which you can customize to create menus
for yourself or customers. Your TSX-Lite system comes with a
couple of packaged menus as examples. To access the main system
menu, issue the command:
TSXSHELL
From the main menu, you can access several of the general purpose
full screen utilities such as the help facility. A full TSX system
has an electronic mail option as well.
A submenu for system management functions allows access to programs
which customize your TSX installation. We will describe the use of
these programs in the chapter on system management.
The TSXSHELL command invokes the TSX system menu driver program
called SMD. In addition to displaying TSX system menus, you can
also use SMD to create your own menus. The file SMD.DOC contains
instructions for creating custom menus.
42
Chapter 7
Symbols and Logical Names
Symbols and logical names are both types of shorthand notation.
Symbols are used to define your own commands. They are also used
for control purposes within command files. Logical names are used
to give shorthand names to devices and files.
7.1 Defining Symbols with String Assignment Operators
Using symbols you can define your own commands. Suppose, for
example, in moving between directories, you often find yourself
moving "up, over, and down" as in:
CD ..\HERE
CD ..\THERE
CD ..\HERE
You get tired of typing "CD ..\" and wish there was a command "OT",
standing for "Over To", that did the same thing. The symbol
assignment:
OT:==CD ..\^
would set up such a pseudocommand for you. The ":==" is the symbol
assignment operator and the "^" substitutes the next word from the
command you type, so that typing "OT THERE" is equivalent to typing
"CD ..\THERE".
In a multi-user environment like TSX, the system manager may decide
to define some symbols that apply to all users, and some
individuals may choose to define their own symbols and even
override the system-wide symbols. To define a symbol that is to be
available for all users use the ":===" operator (note three equal
signs) and place the symbol definition command in your LSTARTUP.CMD
system-wide, start-up command file. For example, the following
command, when placed in LSTARTUP.CMD, will define a SDIR command
that will produce directory listings sorted by name:
SDIR:===DIR/ORDER=NAME ^
If a user defines his or her own SDIR symbol using the ":=="
operator, that symbol definition overrides the system-wide symbol
for that user; it does not affect the symbol definition for other
users. Symbols defined using ":==" are discarded when you log off
43
Chapter 7. Symbols and Logical Names 44
(or the system is rebooted) so if you wish to define a set of
symbols for yourself you should put them in a command file that can
be executed each time you log on. Note: when you generate a system
you can specify a start-up file for each time-sharing line. An
optional TSX-Lite Security Kit is available which includes a LOGON
program to force users to enter a user name and password to gain
access to the system. See REGISTER.DOC for ordering information.
There is also a ":=" operator. This defines a local symbol within
a command procedure. The symbol overrides the definition of any
user or system-wide symbols with the same name for the duration of
the command procedure and then is deleted. If the ":=" operator is
used outside of a command procedure it is equivalent to ":==".
7.2 Defining Symbols with Numeric Assignment Operators
The ":=", ":==", and ":===" operators are called string string
assignment operators because they equate the symbol name on the
left of the equal sign(s) to the string on the right. There are
three similar operators, "=", "==", and "===" that perform numeric
assignments. These operators function in a very similar manner to
the string assignment operators except that they require a numeric
expression to be to the right of the equal sign. They evaluate the
numeric expression and assign the resulting numeric string to the
symbol. For example, the command:
COUNT = 2+3
Evaluates the expression "2+3" and assigns the string "5" to the
symbol COUNT. The following command procedure would execute a loop
5 times displaying the value of the COUNT symbol each time through
the loop:
COUNT = 1
TOP:
DISPLAY COUNT IS 'COUNT
COUNT = COUNT+1
IF COUNT <= 5 THEN GOTO TOP
The apostrophe character before "COUNT" in the DISPLAY command
cause the value of the COUNT symbol to be substituted into the
string being displayed.
In an analogous fashion to the symbol assignment operators, "="
defines a local symbol for a command file, "==" defines a symbol
for the current user only, and "===" defines a system-wide symbol.
7.3 ASSIGN Command and Logical Device Names
A different method can be used to establish a shorthand notation
for a device, directory, and file specification. This is done
using the ASSIGN command to define a logical device name. For
example, after executing the command:
Chapter 7. Symbols and Logical Names 45
ASSIGN C:\XBDRV\C_DRV\BIN\ X
You have defined a logical device name "X" which is equivalent to
"C:\XBDRV\C_DRV\BIN\". You could issue commands like:
DIR X:
COPY DATA.DAT X:
RUN X:APOS
in which case TSX replaces "X:" by "C:\XBDRV\C_DRV\BIN\". This is
much easier than typing:
DIR C:\XBDRV\C_DRV\BIN\
COPY DATA.DAT C:\XBDRV\C_DRV\BIN\
RUN C:\XBDRV\C_DRV\BIN\APOS
In this example, X: is said to be a "logical name" which equates to
a physical device and directory specification. There are many
advantages to the logical name facility, as we shall begin to see
when we discuss printing.
Frequently, single letter logical names like "X:" are used because
some DOS programs only accept a single character as a drive letter.
However, TSX allows you to define logical names that are up to 16
characters long. The logical name "SY:" is assigned by the system
to point to the TSX system directory (typically, \TSX32SYS).
If you wish to define logical names that apply to all users, you
can use the "/SYSTEM" qualifier with the ASSIGN command and place
the commands in the LSTARTUP.CMD system-wide, start-up command
file. For example, the following command, when placed in
LSTARTUP.CMD, will define the logical device name "TEMP:" for all
users:
ASSIGN/SYSTEM C:\WORK\ TEMP
Note that TSX logical names can specify not only a particular disk
but a directory and even a particular file on the disk. For
example, the following command associates the logical name WORKFILE
with the a particular file:
ASSIGN C:\WORK\TEMP1.DAT WORKFILE
Having done this, the command
COPY ABC.DEF WORKFILE:
will cause the contents of the file ABC.DEF to be copied to
C:\WORK\TEMP1.DAT.
You can also use logical device assignments to associate a logical
device name with a device other than a disk file. For example, the
following command assigns the logical name LPT1 to a spooled print
queue named PRINT:
Chapter 7. Symbols and Logical Names 46
ASSIGN PRINT: LPT1
See Section 8.2 for information about setting up print queues.
In full TSX-32 with networking you can use the ASSIGN command to
create logical drive letters that access files on remote computers.
For example, the following command defines a logical device letter
'N' and associates it with a disk on a networked computer whose
node name is ADMIN:
ASSIGN ADMIN::C: N
More detail on symbols is available under HELP ASSIGNMENT and
there's help under ASSIGN for logical names.
Chapter 8
Printing
The TSX queue management and spooling system is much more powerful
than anything you have encountered using DOS. In fact, it is a
world class system designed to manage large installations with many
users accessing many printers. We could easily devote a document
the size of the one you are reading to explaining all the features
of printing system!
Fortunately there are two pieces of good news. First, it's simple
to do simple things. As with all aspects of TSX, you can get going
right away and slowly build your knowledge as you tackle harder
tasks. Second, there is a helpful, friendly program named QMAN
that you can use to set up print queues and manage print jobs.
QMAN has extensive on-line help (press F1 at any point while you
are running it to get context sensitive help).
8.1 Spooler and Queue Manager
At the heart of the printing system are two programs: the "Queue
Manager" (QUEMAN.EXP) and the "Spooler" (SPOOLER.EXP). They share
responsibility for managing data that you wish to print. To
understand how these programs work you need to understand the two
basic methods for printing data with TSX.
The first method is called "explicit printing". To use this method
issue a PRINT command to print a file that has already been
created. The request to print the file is passed to the queue
manager which holds it until the specified printer finishes
printing any other file. The queue manager than issues a command
to the spooler to cause the spooler to copy data from the file to
the printer. The spooler is a "detached job" that runs
independently of the queue manager and the job that issued the
PRINT request so the queue manager and the original job can perform
other tasks while the file is being printed by the spooler (the
spooler can drive more than one printer at once).
The second method is called "implicit printing". To use this
method you simply write data destined for a printer to a logical
device name associated with a print queue. The data is diverted to
the spooler program which stores it in a temporary TSX system file
until the printer becomes available. It then copies the data to
the printer at the rate that the printer can accept it. If there
is adequate space in the temporary file, the program generating the
47
Chapter 8. Printing 48
data to be printed can execute very quickly (since it is writing
its output to disk) and exit before the printing is finished. If
the spooler temporary file fills up, the program generating the
data is suspended until the printer can accept data and free up
space in the temporary file. Implicit printing is convenient
because programs can write to printers without having to create
print files that need to be cleaned up later.
As mentioned earlier, the queue manager (QUEMAN.EXP) and spooler
(SPOOLER.EXP) programs run as detached jobs which start running
each time TSX is initiated. Try using the SHOW SYSTEM command to
see that the spooler and queue manager are running.
The spooler can simultaneously accept printer output from any
number of programs and ensure that each report waits its turn to
print. Multiple printers are supported, including parallel
printers, serial printers, printers attached to serial terminals,
and TSXTERM printers (TSXTERM is our terminal emulator to turn a
DOS PC into a TSX workstation -- see Chapter 11 starting on page
70). The spooler usually leaves program output untouched, but it
can insert form feeds to eject paper, generate header and trailer
pages, handle margins, and so on.
In addition to managing print jobs, the queue manager is also
responsible for overseeing background batch jobs. This is
explained in Section 9.3 starting on page 53.
The printing system uses print "queues" (lists of print jobs) to
ensure orderly printing and direct program output to a particular
printer. Queues have associated "forms" which control the form of
output and "stocks" which tell TSX what type of paper is mounted in
the printer.
8.2 Setting Up the Printer Queues
If you have a parallel printer you are in good shape because TSX
automatically creates a default queue named "PRINT" and associates
it with the printer connected to your parallel port number 1 (TSX
device name LPA0:).
If you have a serial printer you can use the QMAN program to
quickly modify the PRINT queue to direct it to a serial port. To
do this, type "QMAN" to start the program. QMAN starts out in a
browse screen showing the available queues. One should be named
PRINT, with associated device LPA0:. You can alter the device
associated with the queue by typing "M" for Modify. A data entry
screen is presented which allows you to modify various aspects of
the queue. The device name is listed first. Position the cursor
to this field and enter device name TTB0: if the printer is
connected to the first COM port or TTC0: if it connected to the
second COM port. Press ESC to exit the data entry screen, and ESC
again to exit QMAN.
Chapter 8. Printing 49
We should mention at this point that context sensitive help is
available in all data entry fields of QMAN (as well as the other
full screen utilities like TSGEN) by pressing the F1 key.
If your system has no parallel port at all, but does have a serial
printer, no PRINT queue will exist. Instead of typing "M" for
modify, type "C" to create the queue; the same data entry screen is
used for both operations, except that one extra menu specifies the
queue type (select "Base queue").
Now that we have the queue named PRINT associated with the device
to which your printer is attached, we will print a test file
(\AUTOEXEC.BAT is on everybody's machine so we'll use that). The
command to print the file is:
PRINT \AUTOEXEC.BAT
If you have two or more printers you will need to set up queues
with distinct names. To create a new print queue start QMAN and
type 'C' for create. Then select the "Base print queue" menu item
which will cause a data entry screen to be displayed. The only two
items that you must fill in are the queue name (the first item on
the screen) and the associated device name (the second item). For
example, to create a queue named EPSON and associate it with a
printer attached to TTC0:, you would specify EPSON as the queue
name and TTC0: as the device name (don't forget to put a colon at
the end of the device name). TSX supports any number of printers
connected to a combination of parallel and serial ports.
If you have more than one print queue you must have some way to
designate which queue printed output is to be directed to.
Suppose, for example, that your primary print queue named PRINT is
connected to the parallel printer and a secondary queue named EPSON
is connected to a serial port printer. By default, the PRINT
command sends output to the PRINT queue. If you want to direct the
output to a different queue, use the /QUEUE=name qualifier. For
example, the following command prints a file on the printer
associated with the EPSON queue:
PRINT/QUEUE=EPSON \AUTOEXEC.BAT
The following command would cause output written by programs to
device LPT2 to be directed to the EPSON queue:
ASSIGN EPSON: LPT2
See Chapter 7 for additional information about the ASSIGN command
and logical device names.
8.3 Printing from DOS Programs
Most DOS programs that provide printed output allow you to specify
the DOS device to which the output is to be directed. Usually
names such as LPT1 and LPT2 are two of the choices. By default,
Chapter 8. Printing 50
TSX associates the DOS device name LPT1 with the queue named PRINT.
So if you can select LPT1 for printer output and define a PRINT
queue, the program should be able to write spooled output to the
printer without further intervention.
Some DOS programs allow you to specify an arbitrary device name for
the printer. In this case, the best thing to do is to specify
"PRINT:" (or some other TSX queue name) as the print device. If
you do not have the choice of specifying an arbitrary device name,
you can use a TSX ASSIGN command to associate the logical name LPT1
with any queue you choose. For example, the following command
would cause output written to LPT1 to be directed to a queue named
EPSON:
ASSIGN EPSON: LPT1
If you wish to place this command in your LSTARTUP.CMD file, be
sure to specify "/SYSTEM" after ASSIGN. See Chapter 7 for
additional information about the ASSIGN command and logical device
names.
8.4 Terminal Printers
In addition to supporting printers attached directly to the
computer through serial and parallel ports, TSX also supports
printers attached to the auxiliary printer ports of terminals used
as workstations to TSX. This is convenient in that you can
configure a TSX workstation, complete with a printer, and connect
it to the TSX system using a single serial cable. This type of
arrangement is ideal for point-of-sale terminals. The TSXTERM
program, that turns a PC into TSX workstation, also supports
terminal printers (see Chapter 11 for additional information about
TSXTERM).
TSX provides unequaled support for attached terminal printers.
Programs can directly access the printer or use a spooled print
queue. Furthermore, TSX allows you to use the terminal to run
programs and display data at the same time that the terminal
printer is being used. One user can even print data on another
user's terminal printer.
To tell TSX that you have a printer attached to the terminal, you
can issue the command:
SET TERM/PRINTER
This command only remains in effect until you log off or TSX is
restarted. If you want to permanently notify TSX that the terminal
has an attached printer use TSGEN and set the "PRINTER" attribute
for the appropriate serial line to 1.
When you notify TSX that a terminal has an attached printer, TSX
creates a device whose name matches the name of the terminal,
except that the the first two characters are TP instead of TT. For
Chapter 8. Printing 51
example, if the terminal attached to serial port TTB0: has an
attached printer, the device name of the printer is TPB0:. You can
then use the printer device name (TPB0: in this example) as you
would use any other device name. For example, the following
command would cause output written to LPT1 to be directed to TPB0:
ASSIGN TPB0: LPT1
You can also create a spooled print queue to manage output to a
terminal printer. To do this follow the same steps described in
Section 8.2 to create a queue and specify the terminal printer name
as the output device.
8.5 Advanced Features
The TSX printing system has many additional features that are
beyond the scope of this manual. For example, you can define
"forms" that have attributes such as margin sizes, page headers,
and paper stock type. The TSX spooling system automatically will
hold print requests until the specified paper stock is mounted.
You can also define "logical" print queues that feed into base
queues. Using logical queues you can set up the TSX printing
system so that there is a pool of printers and print jobs will be
printed on the first printer that becomes available.
Chapter 9
Command Procedures (Batch Files)
9.1 Introduction
Anybody who has configured an environment for a PC involving
multiple programs and databases has employed ".BAT" files. TSX
supports these DOS command procedures, and additionally supports
advanced native command procedures which take the form of ".CMD"
files. This chapter reviews features which make the TSX command
file processor flexible and programmable.
Remember, BAT files and CMD files are basically text files
containing collections of commands, just like the commands you type
at the prompt. You can test out commands interactively, then
incorporate them into command procedures once you understand how
they work.
9.2 Invoking Command Procedures
Invoking a command procedure from the prompt is usually
accomplished simply by typing the name of the command procedure.
There are a couple of ways you can get into trouble by simply
typing a name, then having TSKMON go out and find the command file
or program you specified. First, suppose you have command file
ARGLE.CMD, which makes logical name assignments, copies files, then
runs program ARGLE.EXE. You can get that command procedure going
by typing ARGLE since TSKMON looks for ARGLE.CMD before ARGLE.EXE.
But the command procedure can't simply have an ARGLE command within
it, to run ARGLE.EXE because it will end up invoking itself!
The way around this problem is to use the RUN command, which
explicitly tells TSX to run the program ARGLE. The entire command
procedure might read:
COPY SY:IN.DAT DATA.NEW
ASSIGN DATA.NEW IN:
RUN ARGLE
If you have multiple program files named ARGLE, such as ARGLE.COM
and ARGLE.EXE, you can specify the extension on the RUN command.
52
Chapter 9. Command Procedures (Batch Files) 53
Another sort of problem you can get into with simple commands is
conflict with internal commands. Suppose you have a command
procedure named SET.CMD:
ASSIGN SET.LST OUTPUT:
RUN SETRPT
You can't invoke this procedure by typing SET, even if there are no
other files named SET! That's because SET is an internal command
recognized by TSKMON. Just typing SET will do the same thing under
TSX as it does under DOS: provide you with a list of environment
variables. Just as you can explicitly use the RUN verb to run a
program, you can use the "@" character to force TSKMON to realize
you are invoking a command procedure:
@SET
Again, if you have SET.BAT and SET.CMD, you should specify the
extension to avoid any possible confusion.
Command procedures can be called from within command procedures.
The EXIT command is used to return to the calling command
procedure.
Parameters can be passed to command procedures by specifying them
as separate words on the command line. Parameters are assigned
symbol names P1 through P8 (P0 is the name of the current command
procedure itself).
Command procedures can also get run in a different subprocess, as
if you had switched to another window and executed them, with the
SUBPROCESS command. Finally, developers with full TSX-32 licenses
have access to system services that can invoke command procedures
from within programs.
9.3 Background Batch Jobs
One of the nice things about a multi-tasking operating system like
TSX is that it can run more than one job at once. This feature is
especially useful when combined with batch files because you can
execute batch files as "background jobs". A background batch job
executes commands from a batch file that is not connected to any
terminal. The listing of the batch file that would normally be
displayed at a terminal is instead written to a log file that has
the same name as the batch file but the extension ".LOG".
The BATCH command is used to initiate a batch job. For example, if
you had created a batch file named WORK.CMD the following would
start its execution as a background batch job:
BATCH WORK
If you do not specify an extension with the file name for the BATCH
command, TSX first looks for a file with the extension ".CMD" and
Chapter 9. Command Procedures (Batch Files) 54
if no such file exists it then tries to open the file with the
extension ".BAT".
When you issue a BATCH command the designated batch file begins
execution. You can run other programs or queue additional batch
jobs while the batch job is running. To check on the status of
executing and pending batch jobs use the BATCH command without
specifying a file name. For example, the following command would
display a list of all pending and executing batch jobs:
BATCH
By default TSX does not notify you that a batch job has finished.
However, you can request that a notification message printed by
using the "/NOTIFY" qualifier with the batch command. For example,
BATCH/NOTIFY WORK
If you would like to have notification turned on by default, use
QMAN to modify the BATCH queue (select the BATCH queue and type
'M') and specify 'Y' for the NOTIFY attribute of the queue.
Screen output from programs running as batch jobs is written to a
file with the same name as the batch command file but with an
extension of ".LOG". You can specify a different name by using the
"/LOGFILE=file" qualifier with the BATCH command.
If you are submitting a long running batch job you may wish to have
it execute at a lower priority than interactive programs. To do
this, use the "/RUNPRIORITY=value" qualifier on the BATCH command.
The priority value may be in the range 1 to 127 with higher values
taking priority over lower values. The normal interactive job
priority is determined by the PRIDEF sysgen parameter whose default
value is 50. You can also use QMAN to set the default execution
priority for jobs submitted to a batch queue. To do this, start
QMAN, select the batch queue, type "M" for Modify, and set a value
for the RUNPRIORITY parameter.
9.4 Branching: Labels and GOTO
Like BAT files, CMD files support labels, but the preferred syntax
is a little different. In TSX, the label name comes first,
followed by the colon (the way it is specified in most programming
languages). You transfer control to a label with the GOTO command.
Labels don't have to be the only thing on a line:
TOP:ECHO WE ARE AT THE TOP
RUN PROG1
GOTO TOP
Chapter 9. Command Procedures (Batch Files) 55
9.5 Symbols and Operators
The symbol facility described previously is used extensively in
command procedures. For example the INQUIRE command reads keyboard
input and creates the symbol named. You can use the symbol
substitution operator, apostrophe, to substitute a symbol for its
value in any command line. For example:
INQUIRE SYMA "Give me a word"
DISPLAY SYMA is equal to 'SYMA'
TSX supports numeric symbols as well as string symbols. The IF
command has a complete set of operators to deal with both types of
symbols. You can also use numeric operators in numeric symbol
assignments:
IF 'FILE' .EQS. "DATA.OUT" THEN PRINT 'FILE'
COUNTER = 'COUNTER' + 1
DISPLAY 'COUNTER'
More information can be found under HELP IF and HELP Assignment.
9.6 Conditionals: IF
Commands can be conditionally executed by using the IF command. An
example:
IF FILE .NES. "JUNK.DAT" THEN PRINT 'FILE'
You can combine the IF and GOTO constructs to conditionally execute
entire sections of commands:
IF LETTER .EQS. "A" THEN GOTO ADD
IF LETTER .EQS. "E" THEN GOTO EXIT
ECHO Invalid response, aborting.
EXIT
ADD:
RUN ADD
PRINT ADD.OUT
EXIT
EXIT:
ECHO Goodbye
EXIT
9.7 User Interaction: DISPLAY and INQUIRE
The DISPLAY command can be used to display strings to the user.
ECHO is a synonym for DISPLAY.
INQUIRE is used to get keyboard input from the user. The command
procedure shown above must have made use of INQUIRE to define the
symbol LETTER:
Chapter 9. Command Procedures (Batch Files) 56
TOP:
INQUIRE LETTER Enter E for EXIT, A for ADD:
IF LETTER .EQS. "A" THEN GOTO ADD
IF LETTER .EQS. "E" THEN GOTO EXIT
.
.
.
9.8 Seeing Commands
The VERIFY setting for your job controls whether you see commands
as they are executed or not. The commands
SET VERIFY
SET NOVERIFY
control the current verify setting. The DOS style ECHO ON and ECHO
OFF are also supported.
9.9 Expression Operators
A number of operators are available for use in the command
language. In comparisons and logical operations the value 1 is
returned for true and 0 for false.
9.9.1 Numeric Operators
+ Addition - Subtraction
* Multiplication / Division
9.9.2 String Operators
string1 // string2 Concatenate string2 to string1
string[start:end] Substring from position 'start' to 'end'
9.9.3 Numeric Comparison
.EQ. Equal .NE. Not equal
.LT. Less than .GT. Greater than
.LE. Less than or equal .GE. Greater than or equal
9.9.4 String Comparions
The following string comparisons are not case sensitive
.EQS. Equal .NES. Not equal
.LTS. Less than .GTS. Greater than
.LES. Less than or equal .GES. Greater than or equal
Chapter 9. Command Procedures (Batch Files) 57
9.9.5 Logical Operators
.AND. Logical AND
.OR. Logical OR
.NOT. Logical negation
9.10 Lexical Functions
Lexical functions may be used in commands to perform a variety of
functions involving strings and files. All lexical function names
start with a dollar sign and have parenthesis enclosing arguments
to the function. The following is a simple example that uses the
$DATE function to insert the current date into a string being
printed.
DISPLAY The date is $DATE()
Full documentation of lexical functions is available by typing HELP
LEXICAL. The following is a summary list of the lexical functions.
$CHAR(value) -- Generates a single ASCII character whose character
code value is equal to the numeric argument.
$CLOSE(channel) -- Close the specified I/O channel. Use $OPEN or
$CREATE to open a channel.
channel = $CREATE(filespec) -- Create a new file. The returned
value of the function is an I/O channel number that may be used
with $WRITE and $CLOSE functions.
$CWD() -- Return the current working directory specification.
$DATE([format]) -- Return the current date in the form "month dd,
yyyy". The optional "format" string can be used to obtain the
date in other styles. The following operators may be used in
the format string:
Date operator Information returned
------------- ------------------------------------------
%a The abbreviated weekday name (Sun)
%A The full weekday name (Sunday)
%b The abbreviated month name (Dec)
%B The full month name (December)
%c The date and time (Dec 02 06:55:19 1979)
%d The day of the month (02)
%j The day of the year (335)
%m The month of the year (12)
%w The weekday number, from 0 for Sunday (0)
%x The date (Dec 02 1979)
%y The year of the century (79)
%Y The year (1979)
The $DATE function will also process any of the time oriented
format operators supported by the $TIME lexical function.
Chapter 9. Command Procedures (Batch Files) 58
$ELEMENT(index,delimiter,stringlist) -- Extract the string whose
occurrence number is specified by 'index' from the string
specified by 'stringlist'. The 'delimiter' parameter specifies
the character that separates occurrences of the string.
$EVAL(expression) -- Evaluate the expression and return its result.
$EXISTS(filespec) -- Return 1 (true) if the specified file exists;
return 0 (false) if the file does not exist.
$FILMRG(file1[,file2]) -- Merge together two file specifications
replacing any missing portions of 'file1' by the corresponding
portion from 'file2'.
$FILPRS(filespec,item) -- Parse (decompose) a file specification
into its component parts. The values that may be specified for
'item' are NODE (network node name), DEVICE (device name),
DIRECTORY (directory specification), NAME (file name), and
EXTENSION (file extension).
$HEX(value) -- Convert a numeric value to its equivalent
hexadecimal representation in the form "0Xnnnn".
$ICHAR(string) -- Return a numeric value corresponding to the ASCII
character code of the first character in 'string'.
$INSERT(string1,string2,position) -- Insert 'string2' into
'string1' in front of the character position specified by
'position'.
$ISALNUM(string) -- Return 1 if all of the characters in the string
are letters or numbers; otherwise return 0.
$ISALPHA(string) -- Returns 1 if all of the characters in the
string are letters (either upper or lower case). Otherwise it
returns 0.
$ISCNTRL(string) -- Returns 1 if all of the characters in the
string have ASCII character code values in the range 0 to 31 or
255. Otherwise it returns 0.
$ISDEF(string) -- 'string' should be a quoted string. The function
returns 1 if a symbol with this name is defined; otherwise it
returns 0.
$ISDIGIT(string) -- Returns 1 if all of the characters in the
string are digits. Otherwise it returns 0.
$ISGRAPH(string) -- Returns 1 if all of the characters in the
string are printable characters other than space. Otherwise it
returns 0.
$ISLOWER(string) -- Returns 1 if all of the characters in the
string are lower case letters. Otherwise it returns 0.
Chapter 9. Command Procedures (Batch Files) 59
$ISPRINT(string) -- Returns 1 if all of the characters in the
string are printable characters including the space character.
Otherwise it returns 0.
$ISPUNCT(string) -- Returns 1 if all of the characters in the
string are printable characters other than space, letters, or
digits. Otherwise it returns 0.
$ISSPACE(string) -- Returns 1 if all of the characters in the
string are either space, form feed, newline, carriage return,
tab, or vertical tab. Otherwise it returns 0.
$ISUPPER(string) -- Returns 1 if all of the characters in the
string are upper case letters. Otherwise it returns 0.
$ISXDIGIT(string) -- Returns 1 if all of the characters in the
string are valid hexadecimal digits. Otherwise it returns 0.
$JOBINFO(item[,jobnumber]) -- The $JOBINFO lexical function returns
information about a TSX-32 job. Say HELP LEXICAL for further
information.
$LENGTH(expression) -- Determines the number of characters in
'expression'.
$LOCATE(substr,expression) -- Locates the starting position of the
first occurrence of the 'substr' substring within 'expression'.
$LOGICAL(name) -- Translate a logical device name to the
corresponding physical device and directory to which it has
been assigned.
$MESSAGE(status) -- Return the status message that corresponds to
the TSX error status code specified by 'status'.
$MOD(value1,value2) -- Computes 'value1' modulo 'value2'.
channel = $OPEN(filespec) -- Opens an existing file and returns an
I/O channel number as the result. The channel number can be
used with $READ and $CLOSE functions. The value 0 is returned
if the file cannot be opened and the $CMDSTATUS symbol is set
to the error code. Use $CREATE to make a new file.
$PRIVILEGE(privname[,mode]) -- Returns 1 if the user has the
specified privilege; otherwise returns 0. The 'privname'
argument indicates which privilege item is to be tested. The
'mode' argument may be "AUTHORIZED", "CURRENT", or "SET" with
"SET" being the default.
record = $READ(channel) -- Read the next record from a file and
return the record as the result of the function.
$REPEAT(string,count) -- Replicate 'string' 'count' times.
Chapter 9. Command Procedures (Batch Files) 60
$SEEK(channel,position) -- Set the current record pointer to
'position' on a specified channel.
$SEV(status) -- Accepts an error status code as its argument and
returns a value indicating the severity of the error. The
following values are returned: 0=success (no error);
1=information message; 2=warning; 3=error; 4=severe error.
$STRCMP(string1,string2) -- Performs a case sensitive comparison of
'string1' with 'string2' based on the ASCII collating sequence.
The result of the function is -1 if 'string1' is less than
'string2', 0 if 'string1' is equal to 'string2', and 1 if
'string1' is greater than 'string2'.
$STRIP(str1,str2) -- Remove from 'str1' all characters that are
found in 'str2'.
$STRLWR(expression) -- Convert all upper case characters to lower
case.
$STRUPR(expression) -- Convert all lower case characters to upper
case.
$SYSINFO(item) -- Returns information about the TSX-32 system. The
item argument is a string that selects which item of
information is to be returned. Type HELP LEXICAL for further
information
$TIME([format]) -- Return the current time in the form "hh:mm:ss".
The optional 'format' string can be used to produce the time in
a different format. The following operators can be used in the
format:
Time operator Information returned
------------- -----------------------------------------
%c the date and time (Dec 02 06:55:19 1979)
%H the hour of the 24 hour day (06)
%I the hour of the 12 hour day (06)
%M the minutes after the hour (55)
%S the seconds after the minute (15)
%X the time (06:55:15)
%t the thousands of a second (357)
$TRANSLATE(str1,str2,str3) -- Each character in 'str1' is examined.
If it matches any character in 'str2' the character in 'str3'
which is at the same position in the string as the matching
character in 'str2' is placed back into the string.
$TRIM(string) -- Removes trailing spaces from the string.
$USER() -- Returns the user name of the current job.
$VALIDATE(str1,str2) -- Returns the index number of the first
character in 'str1' that is not in 'str2'. If all of the
Chapter 9. Command Procedures (Batch Files) 61
characters in 'str1' are found in 'str2', 0 (zero) is the
result of the function.
stream = $WLDBGN(filespec) -- Initiate a wildcard file scan with
'filespec' as the wildcard pattern and return a "stream" number
than can be used with $WLDNXT and $WLDEND functions.
$WLDEND(stream) -- Terminate a wildcard operation and free the
stream.
name = $WLDNXT(stream) -- Get the next file name that matches the
pattern specified by the $WLDBGN function that started the
stream. Null is returned if there are no more matching names.
$WRITE(channel,string) -- Write 'string' to the channel opened to a
file.
Chapter 10
Multiuser Computing
TSX makes it possible for several users to share the same computer
at the same time. And, each user can control up to 10 sessions and
execute background batch jobs. In this chapter we introduce
various aspects of TSX-Lite that relate specifically to its
multi-user and multi-tasking support.
10.1 Workstations
A minimal TSX workstation consists of a keyboard and display device
that allows an individual to use the computer. A variety of types
are supported.
Both MDA (monochrome) and VGA (mono and color) adapters and
monitors can be used. TSX also supports the Tseng 4000 super VGA
modes. Hercules graphics for MDA and all 16 regular VGA graphics
modes are supported. CGA graphic adapters are not supported by TSX
although the CGA graphic modes may be used with VGA adapters.
The most common type of serial terminal used by TSX is the PCTERM
terminal such as the Wyse 60. If you have a PCTERM terminal you
must specify the terminal type to TSGEN (described later) before it
will work. PCTERM terminals have 25 line screens, PC style
keyboards, and send make and break codes (the same hardware codes
sent to the system by the console keyboard) instead of ASCII
characters. They connect to the computer through serial lines
(i.e., COM ports).
A more powerful variation of the PCTERM terminal supported by
TSX-Lite is made by RelAmerica. Advanced escape sequences, color,
and built-in support for TSX-32 make these units well worth
considering.
TSX supports ANSI standard terminals (i.e., TERMTYPE=ANSI). The
"ANSI" TSX terminal type is a subset of VT-100. DEC VT-100
terminals have attributes such as scrolling regions and graphic
character sets that are not implemented by most ANSI terminal
emulators. You should use the ANSI terminal type when running with
ANSI terminals or emulator programs that do not provide the full
VT-100 control sequence emulation.
62
Chapter 10. Multiuser Computing 63
DEC ANSI terminals such as the DEC VT100, 200, 300, and 400 series
are also supported by TSX. See HELP SET TERMINAL for a full
listing of the terminal types supported.
The TSX-Lite product also includes TSXTERM, our terminal emulator
for PC's running DOS. See Chapter 11, starting on page 70, for
additional information about TSXTERM.
The full TSX-32 system also supports multi-console adapters. These
are the fastest, most DOS compatible types of workstations, and the
only way to do multi-user graphics with a single CPU.
Multi-console adapters allow multiple VGA monitors to be connected
to the same computer running TSX-32. Using multi-console adapters
it is possible to have many users efficiently running text and
graphic applications on the same TSX-32 system.
TSX-32 also allows users to log in over ethernet from another TSX
network node, Telnet connections, additional foreign terminals, and
the ability to write custom foreign terminal handlers.
For multi-user access to TSX-Lite you will need to use a serial
terminal or a PC running TSXTERM. Connecting the terminal to your
COM port is mostly a matter of cabling. See Section 2.6, starting
on page 13, for information about connecting a serial terminal to
TSX-Lite.
Pressing Enter (or Return) should initiate a job on the terminal.
The user at the terminal and the user at the console are now
sharing the computer system. Both can simultaneously run programs,
manage files, print output, and so forth. Welcome to multi-user
computing! The patented scheduling algorithm in TSX makes it
practical to support dozens of terminals on a single 386 or 486
computer system. Compared to LAN networks, this can be more
economical by orders of magnitude, and you can access the compute
remotely over phone lines.
10.2 Commands for the Multiuser Environment
10.2.1 BATCH Command
The BATCH command starts execution of background batch jobs. These
jobs run without terminal interaction and are excellent for long
running programs. The form of the command used to initiate a new
job is:
BATCH file_name
Where "file_name" is the name of the command or BAT file to be
executed. For example, the following command starts execution of
"POVRUN.BAT" as a batch job:
BATCH POVRUN.BAT
Chapter 10. Multiuser Computing 64
If you do not specify an extension with the file name for the BATCH
command, TSX first looks for a file with the extension ".CMD" and
if no such file exists it then tries to open the file with the
extension ".BAT".
Typing "BATCH" without specifying a file name causes status
information about running and pending batch jobs to be displayed.
You can use the "/NOTIFY" qualifier to cause a message to be
displayed at your terminal when the batch job completes. The QMAN
program can also be used to display information about batch jobs
and/or set parameters for batch jobs and queues. See Section 9.3
on page 53 for additional information about batch jobs.
Screen output from programs running as batch jobs is written to a
file with the same name as the batch command file but with an
extension of ".LOG". You can specify a different name by using the
"/LOGFILE=file" qualifier.
10.2.2 SHOW Commands
TSX has a number of "SHOW" commands to display information about
the status of the system. The SHOW SYSTEM command displays the
active jobs on the system. Each task you control from the console,
and each task the user at the COM port controls, is a separate job.
Detached jobs such as the spooler and queue manager are also jobs
as are background batch jobs you submit. Other commands you may
want to try are JMAN, TMAN, SHOW USE, SHOW CACHE, SHOW PAGING, and
SHOW MEMORY.
10.2.3 STOP Command
Normally jobs initiate login by pressing Enter and log off with the
LOGOFF (or OFF, or BYE) command. However, you can "kill" another
job with a command exemplified by:
STOP/ID=23
The actual id value of the job is displayed by SHOW SYSTEM. There
are variants of the STOP command; see HELP STOP for details. You
can also use the JMAN command to display a list of the current jobs
and to stop jobs.
10.2.4 SEND Command
You can send a message to a user on another line with the SEND
command. An example:
SEND/TERM=TTB0: "Hey, who are you using my modem?"
Again, variants of the command are available; see HELP SEND.
Chapter 10. Multiuser Computing 65
10.2.5 PHONE Command
If you wish to carry on an interactive conversation with another
TSX user, you can call them by using the PHONE command. The form
of this command is:
PHONE terminal_name
where you should substitute an actual terminal device name such as
TTB0 for terminal_name. When you PHONE another user a message is
displayed at the other user's terminal saying that they are being
phoned. The other user answers the phone call by typing "PHONE" as
a command without specifying a terminal_name. Either user can
terminate the phone connection by pressing control-backslash.
10.2.6 TUTOR Command
Application developers and VARS who are contemplating using TSX as
an application platform will be pleased by the remote support and
diagnosis capabilities of the TUTOR command. TUTOR allows a user
to "tutor" another terminal. This synchronizes the two screens and
keyboards so that you can see what your software is doing, bail
users out of tight spots, guide customers through the application,
and so forth. Any time sharing line can TUTOR any other time
sharing line. You can dial into a remote system and TUTOR the
console from a modem connected to a TSXTERM terminal, tutor a
hardwired VT100 from a hardwired PCTERM terminal, and so forth.
Multiple TUTOR connections can be established to allow you to
conduct a class with all student screens synchronized to the
teacher. To tutor another line, use the command
TUTOR terminal_name
where you should substitute an actual terminal device name such as
TTB0 for terminal_name. Type control-backslash to terminate the
tutor session.
10.3 Virtual Memory
TSX is a full virtual memory, demand paging operating system. This
means that your programs can access large amounts of memory --
potentially more than the physical memory installed on your
computer. This feature is especially beneficial for modern 32-bit
programs which can be many megabytes in size without using
overlays.
Until recently, virtual memory operating systems were only
available on main-frame and super-mini computers such as the VAX.
Virtual memory is especially important for multi-user systems
because it allows many users to be running large programs at the
same time.
In order to appreciate how virtual memory works it necessary to
understand a few terms. The "virtual memory space" available to
Chapter 10. Multiuser Computing 66
your job is the area of memory that it may access. Under DOS the
directly accessible virtual memory space is limited to 640Kb
although EMS and XMS provide a means to access additional memory
through the 640Kb area. Under TSX, 32-bit programs can directly
access a virtual memory space of many megabytes. This makes 386
and 486 computers as powerful as VAX's for running large scientific
and commercial applications.
The SET PROCESS/MAXMEM=size command is used to control the maximum
amount of virtual memory space available to the job.
When a program is running, all of its virtual memory space is not
necessarily stored in physical memory (that is why it is called
"virtual"). The hardware and operating system work together to
manage the virtual memory space and keep track of where the memory
for a job is located. Unlike the 8088 and 80286 computers, the 386
and 486 processors were designed to handle virtual memory
efficiently.
The CPU organizes memory space into 4,096 byte units called
"pages". The set of pages that are directly accessible by a
program at any instant of time is called the "working set" for the
program. Your virtual memory space may be larger than your working
set. Memory pages that are part of your virtual memory space but
not in your working set may be located either in physical memory or
in the system page file. An attempt to access a memory page which
is not in your working set causes a "page fault". Despite its
name, a page fault is not an error but rather denotes the process
that TSX performs to add a memory page to your working set. If the
maximum allowed number of pages are in your working set when a page
fault occurs, the oldest entry in the working set is removed to
make room for the entry being added. Page faults are transparent
to your application program -- they do not affect its operation.
This system of keeping only the most recently accessed pages in the
working set works well because many programs contain sections that
are only accessed infrequently. For example, a word processing
program may have an initialization portion that is only executed
once and another part that is only used while actively printing.
The pages that are not active are not part of the working set and
can be used by other programs.
When two or more users are running the same 32-bit program (such as
the TSX command processor), only one copy of the program needs to
reside in memory. TSX "maps" the virtual memory space for each
user running that program to the common program image. Only local
data cells used by the program need to be duplicated for each user.
Normally, TSX performs automatic working set size adjustment based
on the page fault rate. If the number of page faults per second
exceeds the value of the "WSDAUPRATE" sysgen parameter the working
set size is expanded by the size of the "WSDAUPAMT" sysgen
parameter. If the page fault rate is less than the "WSDADOWNRATE"
sysgen parameter then the working set size is reduced by the value
of the "WSDADOWNAMT" sysgen parameter. You can disable the
Chapter 10. Multiuser Computing 67
automatic working set adjustment process by specifying the
/NOADJUST qualifier with the SET WORKING_SET command. If this is
done, the working set size is held at the maximum value. Use the
/ADJUST qualifier to reenable automatic working set size
adjustment. This method TSX uses for managing virtual memory and
working sets is state of the art and works well under varying loads
with very little tuning.
The SHOW MEMORY command displays information about memory space.
The SHOW PAGING command displays page fault statistics. You may
type control-T at any time to display your current working set
size.
10.4 Data Caching
TSX performs extensive data caching to optimize I/O to disk files.
A "data cache" is an area of system memory set aside to hold
recently accessed blocks of data from disk files. The system
manager sets the size of the data cache when the system is
generated by use of the CSHSIZE sysgen parameter. Each time a read
operation is performed to a disk, TSX checks to see if the
requested data is stored in the cache. If so, the data is moved
directly from the cache area and no I/O is performed. If the data
is not in the cache, the data is read from disk and stored in both
the read buffer and the data cache. When a write is done to a disk
file, the data is updated in the data cache but is not written to
disk until the file is closed, a system service is executed to
flush cache data to disk, or a sysgen-specified time period
elapses. When the data cache becomes full, the oldest data blocks
in the cache are displaced to make room for more recently accessed
data.
The data caching system also attempts to "read ahead" data from
files being accessed sequentially so that the data will be
available in the cache by the time that the program requests it.
In addition to data caching, TSX also has a separate cache of file
directory entries. When you open a file TSX searches its directory
cache and, if a file entry is found, the open is completed without
having to perform any I/O operations.
The SHOW CACHE command displays statistics about caching
operations.
10.5 Logon Access Control
TSX-Lite provides a "system password" feature that you can enable
for dial-in lines. When enabled, the caller is required to enter a
password to gain access to the system. See Section 2.6.2 for
information about enabling the system password feature.
An optional TSX-Lite Security Kit is available to provide logon
access control The Security Kit includes the LOGON, TSAUTH, and
Chapter 10. Multiuser Computing 68
FPROTECT programs. The TSAUTH program is used to manage the user
authorization database. The LOGON program is run from line startup
command procedures to require username and passwords to log in.
Accounts can be be customized by granting or denying privileges,
resource quotas, and given logon command procedures which lock them
to an application. The FPROTECT program allows the system manager
to limit access to disks, subdirectories, and individual files on a
user-by-user basis. Users can be given read, write, or
execute-only access to files.
10.6 Event Logs
An "Event Log" is an ordered set of records describing events
occuring within TSX or application programs. Event logs are most
commonly used to record recently occuring events so that if a
problem occurs in the program generating the event log, a record of
recent actions is available for examination. However, event logs
are not limited to diagnostic applications.
An important use of event logs is to record errors or unusual
events that are detected by TSX. These event logs are called
"error logs". You can check to see if any errors have been
detected by issuing the SHOW ERRORS command. If any of the error
logs has some records, you may want to use the SHOW EVENTS command
to examine the nature of the errors.
The SHOW EVENTS command is the primary command for displaying and
controlling event logs. When you issue this command, the first
screen will list each event log file that is currently in use and
show the number of records in it. To display the records in an
event log, use the arrow keys to highlight the event log of
interest and then press Enter. The display will show the records
in the event log and will be updated as new records are written to
it. Type Esc to return from the display screen to the main screen;
type Esc again to exit from SHOW EVENTS. Type 'C' from the main
screen to control which event logs are active.
10.7 NetBIOS Support
TSX supports the NetBIOS system services for establishing sessions,
sending and receiving data messages and datagrams. This support
allows cooperating programs running as separate jobs under TSX to
communicate just as if they were running on a network. TSX also
supports the NetBIOS services for file sharing and record locking.
NetBIOS support is a standard feature of TSX, so you do not have to
install or purchase any additional software. The TSX NetBIOS
support provides communication between cooperating programs running
on the same TSX system. It does not support networking between
separate systems. The full TSX-32 system has TCP/IP based
networking for communication between systems.
Some DOS programs only do record locking for shared data files if
they are told that the data files are on networked disks. On the
Chapter 10. Multiuser Computing 69
other hand, some DOS programs will not run in a networked
environment. To allow the use of programs that need to be told
they are in a networked environment, as well as those that will not
run in a networked environment, an attribute may be associated with
the program using the PMAN command to control which programs are
told that they are running in a networked environment.
If PMAN is used to install a program is with the DOSNET attribute,
it will be told that all of its files are on networked devices. If
this attribute is not specified, the values of the DOSNETFLAG
sysgen parameter is checked. If the value is 1, the program is
told that it is running in a networked environment; if the value is
0, the program is told that it is not in a networked environment.
The default value for the DOSNETFLAG sysgen parameter is 0.
If your software can be installed for single user or network use,
select the network option; this will ensure that the application
allows two users to simultaneously access the same database.
10.8 Mailboxes and Shared Memory Regions
In addition to the NetBIOS services, TSX also provides a facility
called "mailboxes" for exchanging data between programs.
Basically, a mailbox is a logical device that functions as a "pipe"
to store and transport data from one program to another. See the
TSX-32 User's Manual for additional information about mailboxes.
Groups of 32-bit application programs can communicate efficiently
by use of shared memory regions. This concept allows two or more
programs to share the same area of memory so that data stored into
it by one program is visible by all of the programs in the group.
This is especially useful for real-time applications. See the
TSX-32 System Services Manual for additional information about
shared memory regions.
Chapter 11
TSXTERM
If you have another computer available (even an old 8088 system)
you can use it as a TSX workstation. To do this you will need to
install the TSXTERM terminal emulator program on the workstation
computer. TSXTERM is provided as part of your TSX-Lite
distribution and is described in this chapter.
TSXTERM turns any PC into one of the nicest workstations you can
use with TSX. The main reason for this is DOS compatibility. The
TSXTERM workstation uses a real DOS keyboard so the function keys
and ALT, Shift, and Ctrl keys work just as they do with DOS. The
screen display also provides the full PC display character set.
11.1 Installing TSXTERM
To install TSXTERM, create a directory named \TSXTERM on the
workstation computer and copy the TSXTERM.EXE file from the system
directory of your TSX-Lite computer (TSX32SYS) to the \TSXTERM
directory on the workstation computer.
11.2 Using TSXTERM
TSXTERM can access a TSX-32 system either through a directly
connected serial line or through a modem. If you use a modem, a
built in dialing directory is provided to automate the calling
process and, if the host system uses security, the logon process as
well.
Once you are connected, TSXTERM turns your PC into a DOS compatible
workstation for accessing the TSX-32 system. TSXTERM provides full
color support, CGA graphics, enables use of your PC printer, and
includes file transfers to and from the PC. When you are finished
using the TSX-32 system, you exit TSXTERM and return to the DOS
prompt to run other applications on your PC.
11.3 Control Screens
TSXTERM is controlled by single letter commands which are only
recognized in conjunction with a set of shift keys called the
"wakeup key sequence". Normally the wakeup key sequence consists
of simultaneously pressing left control and left shift while you
70
Chapter 11. TSXTERM 71
press a function letter. A summary of these commands is provided
when you first start TSXTERM, and can be recalled by pressing the
wakeup keys and "H" for help.
11.4 Configuring TSXTERM
The first time you invoke TSXTERM it will enter a setup menu.
TSXTERM is configured using a series of field entry screens
selected from this menu. Your configuration, which is saved in a
disk file named TSXTERM.INI, can be changed at any time by pressing
the wakeup keys, and S for setup.
The first time you use TSXTERM, you should enter the communications
screen and specify the COM port and baud rate you wish to use.
Next, enter the "Customizations" setup screen. It contains an
importatnt setting which determines whether TSXTERM will initially
operate in ASCII or TSXTERM mode.
In "ASCII MODE", TSXTERM emulates an ANSI terminal, but this
emulation is only provided to the extent necessary to log into a
TSX system. TSXTERM mode is the normal operating mode of the
program. In this mode the program emulates an advanced PCTERM
terminal.
Select ASCII mode unless you are using TSXTERM with a hardwired
connection that will only be used for a TSXTERM connection. In the
case of a dedicated, hard-wired connection, select TSXTERM mode and
specify TSXTERM as the terminal type using TSGEN as described in
Section 2.6.2 on page 14.
When using TSXTERM in ASCII mode you can either manually type modem
commands ("ATDT...", etc.) or you can use the TSXTERM dialing
directory to connect to the host system running TSX. Once you have
connected and logged on (entering any password and user name if
required), you should issue the following TSX command to shift into
TSXTERM mode:
SET TERM/TYPE=TSXTERM
If you purchase the optional TSX-Lite Security Kit and use the
LOGON program with dial-in phone lines, then you should specify
your user name and password in the TSXTERM dialing directory.
TSXTERM will then connect to the host and automatically enter the
logon information. It will also automatically shift into TSXTERM
mode so that you do not need to enter the SET TERM command.
You can also use the customization setup screen to change the keys
which wake up TSXTERM to command mode. The author, for example,
prefers left ALT by itself. Whatever keys you choose, make sure
your selection will not conflict with key combinations used by your
applications.
Chapter 11. TSXTERM 72
The "Use dialing directory" field controls whether TSXTERM starts
out in the dialing directory screen or goes directly on-line.
11.5 Using Modem Connections
If you want to use TSXTERM to access the TSX system using a modem,
you will probably want to select "Y" in the "start in phone book"
field of the customization field. This causes TSXTERM to begin
each session by presenting you with your phone directory. You can
enter the dialing directory at any time by typing "D" with the
wakeup keys.
The first time you enter the dialing directory, you should type "A"
to add a new entry. Fill in the name and phone number of the
computer running TSX. If the TSX system uses logon security, you
should also enter the username and password for the account into
the dialing directory. A field is also provided for the system
password if it is in use at the site. You should also specify
whether the dial-in line for the computer has been permanently set
to TSXTERM terminal type.
Other fields of the address book entry are optional. The PORT and
BAUD fields can be used to override the configuration information
if multiple COM ports on the PC are connected to multiple TSX
systems. The Internet Address field is used to access fully
licensed TSX-32 systems over ethernet. The note field is for your
own informational notes. The tag field is used when invoking
TSXTERM from a .BAT file to ask it to immediately begin connecting
to the specified entry. For example, to connect to an entry whose
tag is CUST23, you would use:
TSXTERM C=CUST23
Press ESC to save the changes and add the entry to the dialing
directory. You can edit the address book entry at any time by
highlighting it and pressing "E".
To connect to a computer, highlight the entry and type "C".
TSXTERM will dial the modem, wait for a connection, and then log in
using any username and password you have specified in the address
book.
11.6 Using Direct Connections
You can still use the dialing directory of TSXTERM for a hard wired
connection if you want TSXSTERM to enter a username and password
for you. If the logon program is not used, or if you want to type
the username and password yourself, select "N" for the "start in
phone book" setup field. TSXTERM will pause when it first starts,
then immediately enter terminal emulation mode when you press a
key.
Chapter 11. TSXTERM 73
11.7 Printer Support
TSX supports printers attached to TSXTERM terminals in the same way
as printers attached to serial terminals. See Section 8.4, page
50, for a description of terminal printers. To configure the
TSXTERM attached printer, select the printer screen from the setup
menu and specify the port (parallel or serial) to which your
printer is connected. If the printer is serial, you must also
specify the baud rate.
11.8 Background File Transfer
One of the powerful features of TSXTERM is the integrated
background file transfer. This means file transfers are done in
the background while you continue to use the host TSX system.
Suppose, for example, you have a data file which must be
manipulated by a program running under DOS on your PC. You can
download the data in background mode while you continue your TSX
based work. Just type "F" in conjunction with the wakeup keys to
activate the file transfer pop-up window, and issue a command like:
GET DATA.NOW
When your data file has been transferred, exit TSXTERM and run your
DOS application. Rerun TSXTERM to upload your modified data back
to the "file server" TSX system using a SEND command from the file
transfer window.
The file transfers can be initiated by the TSX system as well as
the DOS based PC using the WSCMD command; see Section 14.137, page
164. This allows file transfers to be integrated into command
procedures so that field personnel of a service organization can
(and do) upload daily reports without even knowing how.
Command line options also allow TSXTERM to be run from BAT files
under DOS. One, "C", calls the specified dialing directory entry.
"S" and "R" are used to send and receive files. Type TSXTERM ? to
see a full list.
11.9 Session Logging
You can create a log file on your PC documenting your TSX session
using the TSXTERM session logging feature. Type the letter "L"
with the wakeup keys to activate the logging pop-up window.
Chapter 12
System Management
One of the things that distinguishes TSX from other multi-user
systems is ease of management. Even systems with dozens of users
do not require that anybody sacrifice hours per week being the
"system manager". The operating system mostly manages itself.
However, TSX provides a large number of options that you can use to
customize and tune for best performance.
12.1 Overview of System Startup
Before we plunge into any management details let's get a broad
picture of what happens between the time that you type RUNTSX under
DOS and log in your first interactive session under TSX.
The primary purpose of the RUNTSX program is to read the TSX32.SYS
file, which contains the executable code for the operating system,
into high memory, switch your processor from "real mode" to
"protected mode", and jump into the TSX code.
Next it begins execution of the "startup job" which performs
various startup functions, then logs off. It does this by
executing the command procedure STARTUP.CMD.
12.2 Startup Command Files
The first thing that STARTUP.CMD does is to run a program called
MAKELOAD which uses the system option settings to generate a
secondary command procedure called TSXLOAD.CMD. Executing TSXLOAD
is the second job of the startup procedure. TSXLOAD contains
commands to load terminal support handlers for TSXTERM, PCTERM, and
Relisys terminals. TSXLOAD also starts detached jobs like the
spooler and queue manager for the printing system.
The next step is to execute the INSTALL.CMD command procedure, if
it exists. This command procedure, which is created for you by the
program manager utility PMAN, customizes the way TSX handles
various software packages you have on your system. Section 2.5 and
Chapter 4 discuss many attributes that can be set when a program is
installed using PMAN.
Next the startup job executes a command procedure named
LSTARTUP.CMD, for "local startup" functions. This is the file you
74
Chapter 12. System Management 75
can edit to place system wide logical names and symbols. This file
is analogous to the DOS AUTOEXEC.BAT file.
Finally the startup job executes a command procedure named
PROTECT.CMD. This procedure establishes file protection and
shadowing. It is managed using the FMAN program.
12.3 System Customization
12.3.1 Line Startup Procedures
Each time sharing line (the console being one, the serial lines
being others) has an associated startup command procedure that is
executed each time the line is initialized. If you log off of a
line (by use of the OFF command) the startup command procedure is
executed when you press Enter to log on again. By default, all
lines execute the same command procedure named SY:START.CMD. You
are welcome to edit START.CMD. You can also change the line
parameters to specify a different startup command for each line.
See Section 2.6.2 for information about setting a different startup
command file.
If you have purchased the TSX-Lite Security Kit, you may want to
run the LOGON program to force users to enter a user name and
password to gain access to the system. To do this edit the
START.CMD file and insert the following command:
R LOGON
The TSAUTH program that is part of the Security Kit is used to
manage the list of authorized users. TSAUTH also allows you to
specify a secondary start-up command procedure that is executed
when a user logs on; this command procedure is based on the user
name. For example, user GEORGE may have the following command
procedure:
ECHO Hello George, just a moment
RUN MAKEDISK
ECHO Thanks George, bye.
LOGOFF
The only thing that George needs the computer for is to run a
program that makes software distribution disks for his company.
However, user SHANNON manages the office and wants to start out
running the office management menu. Her login command procedure
has:
CD C:\OFFICE
RUN OMENU
Note that you can have different startup command files for each
line so you can have dial-in modem lines run LOGON but not require
this for the console.
Chapter 12. System Management 76
12.3.2 User Authorization
The program TSAUTH (which is part of the TSX-Lite Security Kit) is
used to manage the authorized users. TSAUTH creates a database
named SY:TSXUAF.TSX containing the list of usernames which can log
into the system. TSAUTH can be run from the command prompt or
accessed from the system management menu.
TSAUTH is a self explanatory, user friendly program. After you run
it, start out by typing "C" to make a copy of the default record.
This enters a data entry screen which is used to specify all
attributes of the new user such as their name and password.
Note that you edit the default record to match your typical
authorized user to make the authorization process more convenient.
It is up to you, as the system manager, to create the login command
procedure for the user. You may want to create a separate
directory for each user and place a CD command in their login file
to start them out in their home directory. Since the login command
procedure simply contains commands which are executed when they log
in, they can customize their own environment (with symbols, logical
names, running programs, and so on) by editing their login command
file.
You also use TSAUTH to limit use of system resources such as the
maximum memory space that can be used. There are an extensive set
of privileges which specify what types of functions you will allow
each user to perform. If you do not use the login mechanism, each
user has full privileges.
12.3.3 System Wide Settings
So far we have discussed customizations based on individual users
or individual lines. System wide customizations are placed in the
LSTARTUP.CMD command procedure. Here you can specify a PATH
command to replace or augment the search path specified under DOS.
When defining a system-wide path, you should use a "SET/SYSTEM"
command rather than a PATH command which defines a search path for
the current job only. The following is an example of a command to
set up a system-wide search path:
SET/SYSTEM PATH C:\TSX32SYS;C:\WATCOM
You may also wish to place some ASSIGN commands in the LSTARTUP.CMD
file to define some logical device names for the entire system. Be
sure to use the /SYSTEM qualifier to make the assignments
system-wide. Here are some examples:
ASSIGN/SYSTEM C:\INVOICES\CURRENT\ CURINV:
ASSIGN/SYSTEM EPSON: LPT2:
Either of these commands can be overridden for a specific user by
use of an ASSIGN command without the /SYSTEM qualifier. User
specific ASSIGN commands can be placed in the startup file
Chapter 12. System Management 77
associated with the line or the user name (assuming TSAUTH and
LOGON are used). Debi could redirect printer output to the
terminal printer attached to her terminal with:
ASSIGN DEBI: LPT2:
Similarly you can establish system wide symbols to provide
shorthand notations for all your users:
TOCUR :=== CD C:\INVOICES\CURRENT\
INSPECT :=== E32/BORDER/READONLY
The three equals signs denote system-wide symbols which can be
overridden by personal symbols specified with two equals signs.
12.4 System Tuning
12.4.1 Introduction
While there are hundreds of tuning parameters you can specify using
TSGEN, most of them are only used in highly specialized
circumstances. Feel free to browse the tuning parameters and read
help screens to get a feel for the ability of the operating system
to adapt to different needs. Fully supported customers have the
benefit of S&H Technical Support to guide them to the correct
parameter if a program does not run correctly or the system is not
running at peak performance. We will draw special attention to a
few of the most critical tuning parameters here. See Section 2.4
on page 9 for information about using the TSGEN program.
12.4.2 CSHSIZE: Cache size
Under Data Caching Parameters, CSHSIZE controls the amount of
memory that's allocated for a system cache. If you only have 4
megabytes of memory you should probably leave this at the default
of 1000 512 byte blocks (half a megabyte). In fact, if the SHOW
MEMORY command says there is less than 800K available for user
jobs, you may want to decrease the cache size to free up more
memory for running programs. But if you have more than 4 megabytes
of memory you should use about 25% of your memory for a cache.
Example: on an 8 meg system use 2 megs. 1 meg = 2000 blocks, so
set CSHSIZE to 4000. See Section 10.4, page 67, for additional
information about data caching.
12.4.3 VMAXJOBS: Job limit
Under Job Limit Parameters, VMAXJOBS controls the total number of
jobs allowed on your system. Each process window and each detached
job (Spooler, Queue Manager, Window Print, and batch jobs) count as
a separate job. The default value of 12 can usually be decreased
somewhat for a single user system. The benefit is that memory is
freed up for other uses as VMAXJOBS is decreased.
Chapter 12. System Management 78
12.4.4 DOWINPRT: Window Print
Under Optional System Components, DOWINPRT controls whether the
window print process is detached when the system boots. Set this
to 1 if you want the Print Screen key to be active or 0 if you do
not use this feature. See Section 14.83, page 142, for additional
information about screen printing.
12.4.5 DOQUEUES: Queue Manager and Spooler
Under Optional System Components, you can set DOQUEUES to 0 if you
do not use batch jobs, print jobs, or require spooled output to
printers. Allowing programs direct access to the printer is
advisable only on a single user system, and will cause your program
to pause until printing is completed, whereas spooling allows
multiple users to simultaneously use the same printer and accepts
data, allowing the program to continue running, before the data is
actually printer.
12.4.6 MAXP0MEM: Maximum Memory Space
The maximum virtual memory space available to each program is
controlled by the MAXP0MEM sysgen parameter. This parameter
specifies the size in 1k units and the default value is 8192 which
corresponds to 8 MB. If you run programs that need more memory
space than this you can increase the MAXP0MEM parameter up to a
maximum of 32768 which corresponds to 32 MB. The value of MAXP0MEM
limits the total memory space available to each program and
includes both the 640Kb low memory area and any EMS and XMS
(extended) memory used by the program. The disadvantage of
assigning a very large number to MAXP0MEM is that some programs use
all available memory space. With TSX's virtual memory system they
will be allocated more memory than they actually need and this can
result in excessive memory paging and poor performance.
12.4.7 PGFILSIZ: Page File Size
Under System Memory Parameters, PGFILSIZ controls the number of 4K
pages which can be stored in the system page file, PAGEFILE.TSX.
The page file is used to implement virtual memory: memory pages
which can not fit into the working set for the job (the physical
memory in use) are written to the page file. Increase this if you
must run memory intensive programs that cause the page file to fill
up. Decrease this if you only run modest programs and don't want
disk space wasted by the page file. The SHOW PAGE command (also
available from the system commands menus) displays various paging
statistics, including how much of the page file has been used.
12.4.8 POOLSIZEN: System Pool Space
Under Pool Space Parameters, POOLSIZEN determines the initial
allocation of system memory pool space. The pool is memory used by
TSX while it is running. If TSX runs out of pool space it will
crash. However, if your system runs for a long time and the SHOW
MEMORY command shows plenty of pool space left (say, over 70,000
Chapter 12. System Management 79
bytes) you may want to decrease POOLSIZEN a little to free up
memory for other purposes.
12.4.9 RAMDISKSIZ: Virtual Disk
TSX has a virtual disk driver built into the system. To activate
it go into the RAM Disk Parameters screen and assign the virtual
disk a drive letter and specify the number of blocks of memory to
allocate for the disk.
Chapter 13
Troubleshooting
This chapter discusses some of the problems that you might
encounter when installing or using TSX-Lite. Hopefully, your
problems will be few and you will be able to resolve them yourself.
However, if you need additional assistance S&H Computer Systems has
an outstanding support team that is there to help you. Registered
TSX-Lite users receive 90 days of support via mail, FAX, or
CompuServe at no additional cost. Telephone support is also
available; see Section 15.3 for details.
Most problems that occur when using TSX-Lite fall in one of the
following categories:
. Installation problems caused by the presence of TSR programs in
AUTOEXEC.BAT or device drivers (such as HIMEM.SYS) loaded by
CONFIG.SYS that interfer with TSX getting started and entering
protected mode. These problems can be avoided by creating a
"stripped down" CONFIG.SYS and AUTOEXEC.BAT for use when
starting TSX.
. Hardware conflicts caused by aspects of the computer that are
used by TSX running in protected mode but not encountered when
running a simpler system like DOS. For example, computers have
an inaccessible area of memory used to shadow the BIOS. If you
have problems getting TSX started and your BIOS give you the
option, try disabling BIOS shadowing.
. DOS programs that do "dirty" tricks such as accessing portions
of the operating system or BIOS itself. TSX tries hard to
support all DOS programs, but there are some which are simply
not suitable for use with a multi-user, protected-mode
operating system.
If your system is not performing properly use the SHOW ERRORS
command to see if any errors have been recorded. If any of the
error counts are non-zero, use the SHOW EVENTS command to examine
the error logs.
The following is a list of potential problems and suggested
solutions.
80
Chapter 13. Troubleshooting 81
13.1 RUNTSX Fails During TSX Start
The RUNTSX program may have trouble loading TSX into "high memory"
if you have a HIMEM.SYS type driver loaded. Try renaming your
CONFIG.SYS and AUTOEXEC.BAT to be sure you are rebooting to a
basic, naked DOS machine. This should fix the problem.
13.2 Keyboard Is Dead
Your system seems to boot TSX, going all the way through
initialization to a message announcing that the system is
available. However, you press the return key and nothing happens.
It's as if your keyboard is dead, but it works under DOS.
Reboot, and at the DOS level, use TSGEN and select "Set Tuning
Parameters" from the main menu, then "Console Keyboard Parameters".
Set the value of parameters KBDELAY1 through KBDELAY4 all to a very
high value, such as 10,000. Then bring the system back to TSX with
the RUNTSX program. This should bring your keyboard to life.
Chances are that only KBDELAY4 needs to be set, and that smaller
values will work. These delays only occur when programming
keyboard LEDs so don't be too concerned at the high values.
13.3 Serial Terminal Does Not Work
As explained earlier, TSX-Lite can be accessed both from the
console display and keyboard and from serial terminals (and/or
modems) connected to COM ports. If you connect a serial terminal
to a COM port and it does not operate, check the following things.
. Is the cabling good. Do you need a "null modem" which reverses
signal lines 2 and 3?
. Does the baud rate of the terminal match that for which the
line is genned? The default TSX baud rate is 9600. You can
use a SET ttcuu:/SPEED=xxx/PERM command to change the line baud
rate without regenning.
. Has the line been genned for the correct terminal type? The
default is VT-100. A TERMTYPE of PCTERM must be set for PCTERM
type terminals.
. If you are using TSXTERM on a hard-wired line make sure the
line is genned with TERMTYPE of TSXTERM. Also make sure that
TSXTERM is not operating in ASCII mode.
If none of these checks reveal problems, try using the TSX SPY
command to check for characters being received from the line. The
following is an example of a command to spy on characters being
received from line TTB0:
SPY/INPUT/HEX/BINARY/PHONE TTB0:
Chapter 13. Troubleshooting 82
See Section 2.6 for further information about setting up COM ports
and Section 2.6.5 for more information about using SPY to diagnose
serial line problems.
13.4 Screen is Corrupted after Session Switch
If you switch between a graphics application and another session
and find that the graphics screen is not correct when you reselect
it, then the most likely cause of the problem is that a super VGA
mode is being used that is not supported by TSX-Lite. Currently,
the only super VGA modes supported by TSX-Lite are those offered by
the Tseng 4000 and Paradise 512 video adapters. Other adapters
that offer super VGA modes may be used with TSX-Lite only when
running in the standard VGA modes. If you are using Windows with
TSX-Lite you should select standard VGA as the adapter type.
13.5 Mouse Does Not Work
TSX supports the Microsoft serial mouse (or other compatible mice)
attached to a COM port. It does not support bus mouse controllers.
To use the mouse, connect it to a COM port and use an ASSIGN
command of the following form to associate the MOUSEPORT logical
device name with the appropriate serial port:
ASSIGN TTcuu: MOUSEPORT
Where "TTcuu" should be replaced by the appropriate TSX serial unit
name such as TTB0 (COM1), TTC0 (COM2), TTD0 (COM3), or TTE0 (COM4).
Note that the device name MUST end with a colon. See Section 2.7
for additional information about setting up the mouse. See Section
14.136 for information about setting up the mouse for use with
Windows under TSX.
13.6 TSX Does Not Answer Incoming Calls
If you have a modem connected to a TSX serial line and it is not
answering incoming calls check three things: (1) is the line
generated as a "Phone" line; (2) are you using a cable with modem
control signals (DTR and carrier detect); and (3) is the modem
configured to answer the phone -- the "S0" modem setup register
must be set to a non-zero value. See Section 2.6.3 on page 17 for
additional information about setting up phone lines.
13.7 Trash Characters During Logon and Screen Refresh
If some "trash" characters (large stars or other things) appear
when you log onto TSX from a serial terminal or when you do a
session window switch, you probably need to set your terminal type
to ANSI. The default TSX terminal type for serial lines is VT100
which is appropriate for terminals that support DEC VT-100 control
Chapter 13. Troubleshooting 83
sequences. When VT100 terminal type is selected, TSX sends certain
control codes during logon, window refresh, and window clear
operations that cause spurrious characters to appear if the
terminal cannot handle the full VT-100 control set. See Section
2.6.2 on page 14 for information about setting terminal types.
13.8 Lost Characters or Retries During File Transfers
If you are using a communications program to send or receive files
using a protocol like Z-modem and find that many communication
errors or retries are occuring, you should check the type of UART
communication controllers installed in your computer. There are
two common types: 16450 UART's and 16550 UART's. The 16550 UART's
are highly recommended for use with multi-tasking systems like
TSX-Lite because they contain a 16 character buffer that can store
characters while TSX is performing other functions.
13.9 Unable to Run TSR Programs
If you try to run a TSR program as a TSX command you will receive
the error mssage: "You must use the DOS command to run TSR
programs". This means that in order to run this program you must
first use the TSX "DOS" command to invoke COMMAND.COM, and then
start the TSR program from within COMMAND.COM. You can use the
EXIT command to exit from COMMAND.COM to the TSX command
interpreter. See Section 4.5 on page 31 for additional information
about running TSR programs.
13.10 Queue Manager and Spooler Are Gone
First make sure that the GEN parameter DOQUEUES is set to 1. You
can type STARTQUE yourself from the TSX command prompt to restart
the queue manager and spooler.
Sometimes an error in the queue manager or spooler program, or
corruption of the queue manager database, causes the queue manager
and spooler to abnormally terminate. You may be able to determine
some information by typing the files SY:SPOOLER.LOG and
SY:QUEMAN.LOG. For example, perhaps the system killed these jobs
because the system page file was filling up (increase GEN parameter
PGFILSIZ).
If there is no obvious solution, try deleting files SY:SPOOL.SYS
and SY:QUEMAN.SYS. SPOOLER.SYS is only used to hold program
printer output which is being implicitly spooled. However
QUEMAN.SYS contains information about all the queues and forms you
have set up using QMAN or SET QUEUE and SET FORM commands. Note
that QMAN automatically maintains a file named QINIT.CMD with the
SET QUEUE or SET FORM commands needed to rebuild your queues if you
ever loose them. If you use commands, not QMAN, to alter queues,
you must maintain QINIT.CMD yourself.
Chapter 13. Troubleshooting 84
After deleting these two system files restart the spooler and queue
manager by typing STARTQUE. Wait a minute, then type QINIT. This
should solve the problem.
13.11 Slow Performance -- Excessive Memory Paging
TSX is a virtual memory operating system and allows programs to use
more memory than is physically installed in your computer. When a
program uses more memory than installed, TSX reads and writes the
extra memory pages to a "page file" on disk. If you run programs
that use much more memory than actually installed in your computer
your performance may be poor because TSX is being forced to do
excessive paging operations. The MAXP0MEM sysgen parameter
specifies the maximum number of k-bytes of virtual memory that each
program may use. You can reduce this parameter or use PMAN and
install a program with the MAXMEM parameter set to a smaller value.
Note, some programs use all available memory even if they don't
actually need that much memory so limiting their memory space will
benefit system performance without restricting program operation.
You can use the SYSMON program to monitor memory paging.
Chapter 14
TSX Command Summary
This chapter is a quick reference to TSX commands. Much of the
information here is also available from the on-line HELP facility.
A detailed guide to the use of these commands is found in the
TSX-32 User's Manual which may be purchased separately (see
REGISTER.DOC for ordering information).
In this summary, the following conventions are used:
. Items in square brackets are optional.
. Items in lower case should be replaced by an appropriate value.
. Dates and times used with qualifiers such as /SINCE, /BEFORE,
and /AFTER, must be in the format dd-mmm-yyyy:hh:mm:ss. If
left out, the date defaults to the current date and the time
defaults to midnight. If both date and time are left out, the
command assumes midnight of the current day. Here is an
example qualifier: /SINCE=5-MAY-1993.
. Qualifiers preceded by [NO] are negatable. So, for example,
you may toggle process monitoring for your job with SET
PROCESS/MONITOR and SET PROCESS/NOMONITOR.
. Qualifiers followed by the word "Default" in parentheses need
not be specified except to toggle a setting previously made
with the negated form of that qualifier. If a negatable
qualifier is specified as "default", then the normal
(non-negated) form of that qualifier is the default.
. Qualifiers which include "=(files)" will accept a list of files
enclosed in parentheses and separated by commas.
85
Chapter 14. TSX Command Summary 86
14.1 ALLOCATE
The ALLOCATE command allocates a device for exclusive use by the
job.
Syntax:
ALLOCATE device
Example:
ALLOCATE TTB0:
The ALLOCATE command allocates one or more devices for exclusive
use by your job. Other users will be denied access to the device
until you use the DEALLOCATE command to release the device or you
log off.
When you allocate a device, your primary process and all of your
subprocesses may access the device. You must have ALLOC privilege
to use this command.
14.2 ASSIGN
The ASSIGN command defines a logical device name and associates it
with a particular device and/or disk file.
Syntax:
ASSIGN[/qualifiers] actual_device logical_device
Qualifiers:
/SYSTEM specifies that the assignment is to be made on a
system-wide basis and apply to all users. If this
qualifier is not specified, the ASSIGN applies only to
your job.
See Chapter 7, starting on page 43, for additional information
about the ASSIGN command.
14.3 ASSIGNMENT Expressions
The following operators are used to define symbols as numeric
expressions: "=", "==", and "===". They define symbols and equate
them to the values of expressions.
Chapter 14. TSX Command Summary 87
Syntax:
symbol_name = expression (Process local symbol table)
symbol_name == expression (Process global symbol table)
symbol_name === expression (System symbol table)
Examples:
COUNT = 1
COUNT = COUNT + 1
SUBSTR == FULLSTR[1:3]
DOSLIST = ANSWER .EQS. "YES"
When a numeric assignment statement is executed the expression on
the right side of the equal sign(s) is evaluated and its numeric
value is assigned to the symbol name. See Chapter 7, starting on
page 43, for additional information about defining symbols.
14.4 ASSIGNMENT for strings
The following operators are used to define symbols as strings:
":=", ":==", and ":===".
They define symbols and equate them to replacement strings.
Syntax:
symbol_name := replacement_string (Process local symbol)
symbol_name :== replacement_string (Process global symbol)
symbol_name :=== replacement_string (System symbol)
Examples:
TTPR*INT := COPY ^ TTA1:
SDIR*ECTORY :== DIRECTORY/ORDER=NAME
INFILE := DHA0:JUNE.DAT
TTPRINT :== COPY ^ TTA2:
See Chapter 7, starting on page 43, for additional information
about defining symbols.
14.5 BACKUP
The BACKUP command makes extra ("backup") copies of files. BACKUP
copies one or more input files into a single output "container
file" called a "backup save set". BACKUP is usually used to copy
groups of files from a hard disk to floppy disks or tape. This
ensures that if files are lost on the hard disk (due to failure of
the hard drive or human error) they can be restored from the backup
copy. The RESTORE command, described in Section 14.67, page 129,
is used to restore files saved with BACKUP.
Chapter 14. TSX Command Summary 88
Syntax:
BACKUP[/qualifiers] infile outfile
Qualifiers:
/AFTER[=date-time] selects files created since a given date and
time.
/ARCHIVE Specifies that only files with the "archive" (or
"updated") attribute set should be backed up.
/BEFORE[=date-time] Selects files created before a given date
and time.
/BELL Specifies that BACKUP should ring the bell during volume
change operations.
/COMPRESS Specifies that BACKUP should compress data from files
as it is writing to the output device. This typically
reduces the size of the output save set by 30% to 50%
but increases the CPU time used by the backup. The
RESTORE program automatically recognizes compressed save
sets and decompresses them during the restoration.
/CONFIRM Specifies that you want to confirm whether each file
should be backed up. For each file selected to be
backed up you will be prompted for confirmation. Type
'Y' to backup the file, 'N' to skip the file and proceed
with the next one, or '?' to list other choices.
/EXCLUDE=(files) specifies that any file matching a
specification in the "files" list is not to be backed
up. Wildcard file specifications are permitted in the
exclusion list. If more than one file specification is
provided, enclose the specifications in parentheses and
separate them with commas.
/GROUP=count Specifies the number of save set records in each
redundancy group. Each redundancy group includes an
extra record which can be used by RESTORE to reconstruct
one unreadable record in the group. The default group
count is 10.
/IGNORE Specifies that you want to backup the file even if other
processes currently have the file open with write
access.
/INITIALIZE May be used when the BACKUP output device is a
floppy disk, magnetic tape or other removable file
structured device. /INITIALIZE specifies that all files
should be deleted from each output volume before
creating a backup save set.
Chapter 14. TSX Command Summary 89
/NEW selects only files created today.
/NOCRC Specifies that you do not want CRC (cyclical redundancy)
checksums calculated and recorded in the save set.
/NOLOG Specifies that BACKUP should not report which files are
being backed up. By default BACKUP logs this activity
to the terminal.
/RECORD Specifies that the "updated" attribute flag for each
file backed up should be cleared (turned off). This can
be used to keep track of which files have been backed
up. This qualifier can be used in conjunction with
/ARCHIVE to perform incremental backups -- saving only
files created or modified since the last backup.
/SINCE=date-time Is equivalent to the /AFTER qualifier.
The BACKUP command copies all selected input files to to a backup
save set. For example,
BACKUP *.C B:CODE
creates a single backup save set (which is itself a valid file) on
floppy disk B: named CODE.BSS containing all files from the current
directory with the extension ".C". In addition to the data from
the input files, the save set file also contains information about
the names of the input files and the device and directory where
each input file was located. The files in the backup save set can
only be restored using the RESTORE command (see Section 14.67, page
129).
Most variations of the BACKUP command select different sets of
files to be backed up. File selection is done by combining lists
of file specifications (with wildcard characters and file name
factoring) with selection and exclusion qualifiers.
The /ARCHIVE qualifier causes BACKUP to select only files that were
created or modified since the last backup. The /RECORD qualifier
causes BACKUP to mark the directory entries of files indicating
that they have been backed up.
The output save set file can reside on a single volume but backing
up to floppy disks often requires multiple volumes. Save sets are
stored with redundant information so that if some of it can not be
read the lost data can be reconstructed.
You can use the RESTORE/VERIFY command to read a backup save set
and compare the contents of its files with those on disk to verify
that the save set was written correctly and can be read.
The BACKUP command must include at least one file specification
indicating which files are to be backed up. All files with the
extension ".C" could be backed up with the command,
Chapter 14. TSX Command Summary 90
BACKUP *.C B:CODE
Multiple input file specifications should be separated by commas.
For example, to backup up BIG.DAT as well as all files with
extension ".C", use the command:
BACKUP *.C,BIG.DAT B:ALL
To back up all files in the \DAN directory and all subdirectories
under DAN, use the "..." wildcard directory operator (see Section
5.2, page 39) with a command such as:
BACKUP \DAN\...\*.* B:DAN
The following command backs up all files in all directories (and
subdirectories) on the C: disk:
BACKUP C:\...\*.* C:FULLBACK
The /EXCLUDE qualifier can be used to exclude certain files from
the backup operation. For example, the following command backs up
all files in the DAN and ALEX directories except files with the
extension BAK and TMP,
BACKUP/EXCLUDE=(*.BAK,*.TMP) \DAN\...\*.*,\ALEX\...\*.* A:SAV
Another technique to manage the volume of files backed up is known
as "incremental backup". This backs up only the files which have
been created or updated since the last backup was done. For an
incremental backup, files are selected which have the "updated"
attribute flag set. This attribute is set when a file is created
or modified indicating that it has been updated since it was last
backed up. The /ARCHIVE qualifier causes BACKUP to select only
files with this updated attribute set. For example, the following
command backs up all files on C: that have the updated attribute
set:
BACKUP/ARCHIVE C:\...\*.* B:FULL
The /RECORD qualifier is a companion to /ARCHIVE. Whereas ARCHIVE
causes BACKUP to select only files with the updated attribute set,
/RECORD causes BACKUP to reset the updated attribute flag for each
file that is backed up. To perform periodic incremental backups,
you should specify both the /ARCHIVE and /RECORD qualifiers. This
selects files created or updated since the last incremental backup
and causes the updated attribute to be cleared once the backup has
been done. The following command illustrates this:
BACKUP/ARCHIVE/RECORD C:\...\*.* A:INC0511
When using the incremental backup technique, you should
occasionally perform a full (or "baseline") backup of all files.
When performing this baseline backup you would normally specify the
/RECORD qualifier but would not use the /ARCHIVE qualifier since
you want to select all files.
Chapter 14. TSX Command Summary 91
When copying to floppy disk more than one output volume may be
needed to store all the files. When a removable output device
fills up, BACKUP closes the output save set and asks the user to
mount another volume. You can load another floppy disk and type
"OK" to continue the backup operation or you can type "QUIT" if you
do not want to go on. You can also type "INITIALIZE" if you want
to continue but need to delete all files from the new volume first.
The same file name is used for each volume of the save set.
Volumes must be provided to the RESTORE facility in the same order
that the BACKUP facility wrote them.
Often a set of floppy disks used for backup may contain old save
sets or other unwanted data. The /INITIALIZE qualifier causes
BACKUP to delete all the files on the output volume before opening
a new save set file. Be sure that the output disk does not contain
data you need before running BACKUP with /INITIALIZE. BACKUP will
not allow you to specify the /INITIALIZE qualifier if the output
disk is a fixed disk. /INITIALIZE also will not delete files with
the protected attribute set (the UNPROTECT command will clear the
protected attribute).
14.6 BATCH
BATCH Submits a command file to be executed as a background batch
job.
Syntax:
BATCH[/qualifiers] filespec [/qualifiers]
Qualifiers:
/AFTER[=date-time] Run job at specified date-time.
/[NO]ASSIGNS (Default) The batch job "inherits" logical device
names and symbol names currently in effect.
/[NO]HOLD Specifies that the batch job is to be held until
later.
/[NO]IDENTIFY (Default) Display the job id and queue name for
job.
/LOGFILE[=filename] Write output to filename. (Default: Name of
command file)
/NAME[=nametext] Specify the job name. Default: Name of
invoking command file.
/[NO]NOTIFY Print a message on terminal when the batch job
completes.
Chapter 14. TSX Command Summary 92
/PARAMETERS=params Specify parameters to be passed to the
command file.
/PRIORITY=n Specify the queue priority for the batch job.
/QUEUE=quename Specify the queue to submit job to. (Default:
BATCH:)
/[NO]RESTART Restart the job if a system shutdown occurs while
job is running.
/RUNPRIORITY=n Run the batch job at this priority. The default
priority for both interactive and batch jobs is 50.
Specify a priority lower than 50 if you wish to have the
background batch job execute at a lower priority than
interactive users. You can use QMAN to set the default
execution priority for a queue.
See Section 9.3 on page 53 for additional information about the
BATCH command.
14.7 BOOT
BOOT Stops TSX and reboots DOS. It is recommended that you execute
the SHUTDOWN procedure first which does an orderly shutdown of all
jobs.
14.8 BYE
BYE is a synonym to the LOGOFF command. See LOGOFF for more
detail.
14.9 CALCULATE
CALCULATE Evaluates a numeric expression and displays the result.
Syntax:
CALCULATE expression
Examples:
CALC 22/7
CALC (121+822)/4.71
CALC SQRT(43)
In addition to the arithmetic operators, CALCULATE also accepts the
following library functions: ACOS, ASIN, ATAN, COS, EXP, ABS, LOG,
Chapter 14. TSX Command Summary 93
LOG10, SIN, SQRT, TAN, DEG, RAD. Arguments to trig functions are
in units of degrees.
14.10 CALENDAR
CALENDAR Displays a calendar for a selected month. If you do not
specify a month, a calendar for the current month is displayed.
Syntax:
CALENDAR [month [year]]
Examples:
CALENDAR
CALENDAR JAN
CALENDAR DEC 92
14.11 CALL
The CALL statement is used in a DOS-style BAT file to invoke
another BAT file.
Syntax:
CALL[/qualifiers] file [arguments]
Qualifiers:
/[NO]ECHO List each line of the file as it is executed.
The CALL command can be used to invoke a command procedure or a
.BAT file. It is identical to using the '@' sign but is provided
for compatibility with DOS.
The optional qualifiers are /ECHO, which forces echoing of the
lines in the called command procedure, and /NOECHO, which
suppresses echoing. By default the called command procedure will
inherit the echo characteristics of the caller.
14.12 CHAIN
CHAIN chains from one command file to another. When the second
command file exits control does not return to the invoking command
file.
Syntax:
Chapter 14. TSX Command Summary 94
CHAIN[/qualifiers] filespec [arguments]
Qualifiers:
/ABORT Close all currently nested command procedures before
running.
The CHAIN command allows command files to "chain" together. This
is a useful tool for large applications which may not wish to have
one central command file driving them. There are many advantages
to having command files be the topmost layer of large applications.
For one, it provides instant access to all the normal keyboard
monitor commands for doing utility work such as copying, backup,
allocation of devices, etc. The technique of chaining also allows
developers to keep command file driven applications from getting
nested too deeply by allowing one command procedure to pass control
to another while terminating itself and closing its file.
If no qualifiers are specified, the CHAIN command closes the
currently executing command file and begins execution of the
command file specified as the first parameter to the CHAIN command.
Any open command files above the one invoking the CHAIN command
remain open so the new command file begins executing at the same
nesting level as the one being exited. If the /ABORT qualifier is
specified, all open command files for the job are closed and the
command file being entered is started as the topmost command file.
14.13 CHDIR
CHDIR Changes the current default working disk and/or directory.
It is equivalent to the SET DEFAULT and the CD command.
Syntax:
CHDIR dirspec
CD dirspec
SET DEFAULT dirspec
Examples:
CD \TSX32SYS
CHDIR ..\TEST
SET DEFAULT E:\BIN
14.14 CLS
CLS clears and resets the terminal screen.
Chapter 14. TSX Command Summary 95
14.15 COPY
COPY copies one or more files.
Syntax:
COPY[/qualifiers] inputnames outputname
Qualifiers:
/ALLOCATE=size Preallocate this many bytes for the output file.
/BEFORE[=date-time] Copy only files created before a given date
and time.
/BLOCKSIZE=size Specify the number of bytes in each data block
written by COPY.
/[NO]CONCATENATE Concatenate files together to form a single
output file.
/[NO]CONFIRM Request confirmation before copying each file.
/[NO]CONTIGUOUS Store data blocks for the output file
contiguously on disk.
/[NO]CREDIR Create output directory if it doesn't exist.
/DATE Copy files created on the given date.
/[NO]DELETE Delete input file(s) after copying.
/EXCLUDE=(files) Exclude listed files from copy.
/[NO]LOG Display log information.
/[NO]MBXALLOC=bytes Allocate this many bytes for mailbox device.
/[NO]MBXPERM Create permanent mailbox.
/[NO]MD Same as /[NO]CREDIR
/[NO]MKDIR Same as /[NO]CREDIR.
/[NO]MULTI_VOLUME Prompt for additional output volumes.
/NEWFILE Only copy files created today.
/[NO]PREDELETE Delete output file before copy if it already
exists.
/PROTECT Set protection on output file.
/QUERY Same /[NO]CONFIRM.
Chapter 14. TSX Command Summary 96
/[NO]REPLACE (Default) Overwrite old files with new copies.
/SETDATE Set date/time of output file to current date/time.
/SINCE[=date-time] Copy files created since date-time.
The COPY command makes a copy of one or more files. It can be used
to move files between devices or directories. Unless the /DELETE
qualifier is specified, the input file is not altered.
Subdirectory files are not copied. However, you can use the
/CREDIR qualifier to cause COPY to create subdirectories for output
files.
Wildcard characters may be used in file specifications. The
asterisk ('*') character matches zero or more characters, and the
question mark ('?') character matches exactly one character. Both
may be used in input file names, but only the asterisk may be used
in the output file name. For example, the command
COPY MANUAL.TXT,AUTO.TXT *.OLD
results in MANUAL.TXT being copied to MANUAL.OLD and AUTO.TXT being
copied to AUTO.OLD.
To copy all files with the extension ".C" created yesterday and
today to the same name with the extension ".NEW", type
COPY/SINCE=YESTERDAY *.C *.NEW
See Section 5.2, page 39, for more information on wildcard
characters and their usage.
If a part of a file specification is missing from the output file
name, the missing part is treated as if it were the '*' wildcard
character, and the corresponding part is used from the input file
name.
If "\...\" is specified as the output directory, then the input
directory for each file is used as the output directory. For
example, the following command copies all files in all directories
on device DHA1: to device DFA0: and preserves the directory tree:
COPY/CREDIR DHA1:\...\*.* DFA0:\...\*.*
Note the use of the /CREDIR qualifier which causes COPY to create
any non-existing directories on the output disk.
It is also possible to use an output directory specification of the
form \directory...\ to copy a directory tree under a directory on
the output device. For example, the following command copies all
files in all directories on device A: to device C: and constructs a
directory tree on the output disk that matches the directory tree
on the input disk except it is rooted under the directory \PASCAL\,
Chapter 14. TSX Command Summary 97
COPY/CREDIR B:\...\*.* C:\PASCAL...\*.*
A technique called "factoring" may be used to simplify the
specification of a list of files that have a common portion for the
input file specification. To use factoring, enclose the varying
parts of the file specification in parentheses separated by commas.
For example, the command
COPY PAYROLL.(CBL,OBJ,EXP) OLDPAY.*
is equivalent to the command
COPY PAYROLL.CBL,PAYROLL.OBJ,PAYROLL.EXP OLDPAY.*
or to the commands
COPY PAYROLL.CBL OLDPAY.CBL
COPY PAYROLL.OBJ OLDPAY.OBJ
COPY PAYROLL.EXP OLDPAY.EXP
See the description of the FMAN command on page 111 for information
about a screen-oriented file management program.
14.16 COUNT
COUNT counts the records in files.
Syntax:
COUNT[/qualifiers] filespec
Qualifiers:
/BEFORE[=date-time] Select files created before a given date and
time.
/DATE[=date] Selects files created on the given date.
/EXCLUDE=(files) Exclude specified files.
/NEW Only count files created today.
/OUTPUT=file Redirects count output to a file.
/SINCE[=date-time] Select only files created since given date
and time.
Chapter 14. TSX Command Summary 98
14.17 DATE
DATE is a synonym for SET DATE. It can also be used to show the
current date.
14.18 DEALLOCATE
DEALLOCATE releases exclusive use of a device previously allocated
by use of the ALLOCATE command.
Syntax:
DEALLOCATE device[,device...]
14.19 DEASSIGN
DEASSIGN Removes (deletes) symbol and logical device name
assignments.
Syntax:
DEASSIGN[/qualifiers] name
Qualifiers:
/ALL Deleate all symbols in the specified table.
/GLOBAL Specified symbol is in the process global table.
/LOCAL Specified symbol is in the process local table.
/SYMBOL Specified symbol is a symbol, not a logical device name.
/SYSTEM Specified symbol is in the system table.
The DEASSIGN command removes a symbol name from a symbol table, or
a logical device name from an assign table. If the /SYMBOL
qualifier is specified, the name is treated as a symbol name. If
/SYMBOL is not specified, the name is treated as a logical device
name.
The qualifiers /LOCAL, /GLOBAL, and /SYSTEM specify whether the
name is in the process local, process global, or system table. No
more than one of these qualifiers may be specified on a command.
If none of these qualifiers is specified, the process global table
is searched for a logical device name and the process local table
is searched for a symbol name.
If the /ALL qualifier is specified, all entries in the selected
symbol or assign table are deleted. In this case, the "name"
parameter is ignored.
Chapter 14. TSX Command Summary 99
SYSPRV privilege is required to remove an entry from the system
table.
14.20 DEFINE KEY
The DEFINE KEY command defines a replacement string that is
substituted for a specified key when the key is pressed. See also
the description of the MACROS command on page 118, for information
about defining keyboard macros for the console keyboard and
make/break type terminals.
Syntax:
DEFINE KEY[/qualifiers] key_name replacement_string
Examples:
DEFINE KEY/NOECHO F11 CLS
DEFINE KEY/NOECHO F12 DIR/SINCE=YESTERDAY
Qualifiers:
/[NO]ECHO Display replacement string when replacement takes
place.
/GOLD "Gold" key must be pressed before the defined key.
/[NO]LETTER key_name is a character, not a function key.
/[NO]TERMINATE Insert carriage-return after replacement.
14.21 DELETE
DELETE deletes one or more files from the disk.
Syntax:
DELETE[/qualifiers] filespec
Qualifiers:
/ALLOCATION Display allocated size of file rather than actual
size.
/BEFORE[=date-time] Selects filescreated before a given date and
time.
/[NO]CONFIRM Request confirmation before deleting each file.
/DATE[=date] Delete files created on the given date.
Chapter 14. TSX Command Summary 100
/ERASE Actually erase contents of file from the disk.
/EXCLUDE=(files) Do not delete files specified in list.
/[NO]LOG Display file information as each file is deleted.
/NEWFILE Delete only files created today.
/[NO]QUERY Same as /[NO]CONFIRM.
/SINCE[=date-time] Delete files created since specified date and
time.
14.22 DETACH
DETACH initiates execution of a detached job.
Syntax:
DETACH[/qualifiers] filespec arguments
DETACH[/qualifiers] command
Qualifiers:
/[NO]COMMAND Detach command is a system command, not a command
file.
/[NO]IDENTIFY Print detached job ID on terminal. Default:
IDENTIFY
/[NO]INHERIT (Default) Inherit attributes from the parent job.
/LOGFILE=filename Write log information to specified file.
/NAME=job_name Specify the job name.
/[NO]NOTIFY (Default) Notify when job is completed.
/PRIORITY=value Run job at specified priority.
The DETACH command starts a detached job to execute a specified
command file or system command. The detached job runs
asynchronously from your job and your job does not have to wait for
the detached job to finish. You can use the STOP command to abort
a detached job you started.
Detached jobs are very similar to batch jobs described in Section
9.3, page 53. The main difference is that detached jobs always
start immediately whereas there can be a queue of batch jobs
waiting to begin execution. In fact, the queue manager uses the
detached job facility to execute batch jobs.
Chapter 14. TSX Command Summary 101
The type of parameter specified to the DETACH command depends on
whether the /COMMAND qualifier is specified. If you do not specify
the /COMMAND qualifier, then the parameter to the DETACH command is
the name of a command file to be executed as a detached job. You
may optionally specify parameters for the command file following
the command file name. For example, the following command executes
the command file named BACKALL passing it one parameter MARCH:
DETACH BACKALL MARCH
Within the BACKALL command file, the MARCH parameter could be
accessed using either the 'P1' or ^1 notations.
If the /COMMAND qualifier is specified, then the parameter to the
DETACH command is a single system command rather than the name of a
command file. The effect is the same as if you created a command
file consisting of only the single command and executed that as a
detached job. The advantage is that you do not have to create a
command file to execute a single command as a detached job.
For example, the following command executes a "DIRECTORY *.C"
command as a detached job and creates a log file named DIRLOG:
DETACH/COMMAND/LOGFILE=DIRLOG DIRECTORY *.C
If the command being executed as a detached job contains
redirection operators ('>' and '<'), then enclose the command in
quotation marks to prevent the command processor from applying the
redirection to the DETACH command itself.
All program input for the detached job comes from the command file
or the single command line if /COMMAND was specified. When all of
the commands in the command file are exhausted, and a program
running in the detached job tries to read from the terminal, the
detached job is logged off.
All output directed to the terminal by programs in the detached job
is discarded. You can use the /LOGFILE=filename qualifier to
specify a log file into which output directed to the terminal by
the detached job will be written.
You can place a SEND/PARENT command in a detached (or batch) job to
send a message to the initiating ("parent") job.
If you do not specify the /NOINHERIT qualifier, the following items
of information are "inherited" by the detached job from the
initiating job:
. Process global logical device assignment names.
. Process global symbol names.
. The current default working directory.
Chapter 14. TSX Command Summary 102
. The directory search path.
. The maximum authorized execution priority.
. The maximum authorized privileges.
. The command prompt string.
. The user and group numbers (UIC).
You must have DETACH privilege to use detached jobs.
14.23 DIFFERENCES
DIFFERENCES compares two files and reports the differences between
them.
Syntax:
DIFFERENCES[/qualifiers] primary_file secondary_file
Qualifiers:
/BINARY Same as /FAST.
/CONTINUE In fast mode, report all differences between files.
/[NO]EXACT (Default) Consider upper and lower case as different.
/FAST Do a fast byte by byte comparison of the two files.
/MAXDIF=sect Allow this many difference sections. (Default:
100)
/MAXSECTION=n Allow n records in a difference section.
(Default: 50)
/NUMBER Display record numbers.
/OUTPUT[=file] Redirects output to file.
/RECLEN=length Specify the maximum record length. (Default:
1024)
DIFFERENCES features two different modes of operation. The most
common of these is a record oriented mode intended for text files
which produces an output report displaying each area in which the
two files differ. A second, faster mode, suited for comparing two
binary files, simply compares the files character by character and
determines whether they are the same or different. This mode
reports the byte position from the beginning of the file of any
mismatch. By default DIFFERENCES operates in ASCII mode; if you
Chapter 14. TSX Command Summary 103
want the fast, binary mode, specify either the /FAST or /BINARY
qualifiers.
When operating in fast mode, DIFFERENCES reads large portions of
each file and compares them character by character. When a
mismatch between the two files is discovered, DIFFERENCES reports
the position of the mismatch and stops. The position reported is
the byte position relative to the start of the file.
If you need to know all the bytes which differ between two files,
specify the /CONTINUE qualifier on the command line.
In the normal mode of operation, DIFFERENCES reads records from the
primary file and tries to locate each one in the secondary file.
As it locates matching records, DIFFERENCES updates a current
record position in the each file.
When a section in which the two files differ is encountered
DIFFERENCES reports the section. Each such report includes the
following.
. The name of the primary input file.
. Records from the primary file, beginning with any last record
found in the secondary file, followed by any records from the
primary file which could not be located in the secondary file,
ending with any record which again could be found in the
secondary file.
. The name of the secondary input file.
. Records from the secondary file, beginning with any last record
which matched a primary file record, followed by any records
which do not match primary file records, ending with any record
which did match a primary file record.
When DIFFERENCES can not locate the current primary file record in
the secondary file it will not search all the way to the end of the
secondary file looking for it. The /MAXSECTION=n qualifier
controls how far forward DIFFERENCES will look. If DIFFERENCES can
not locate a primary file record at all, the record is listed in
the differences section and the comparison continues with the next
record from the primary file.
The /MAXSECTION qualifier also controls how many consecutive
primary file records are allowed not to match records from the
secondary file. If this limit is exceeded DIFFERENCES gives up,
assuming the differences between the two files are too extensive to
describe.
Usually DIFFERENCES directs output to the terminal. Output can be
redirected to a file by specifying the /OUTPUT=file qualifier or
using a redirection operator on the command line.
Chapter 14. TSX Command Summary 104
DIFFERENCES sets the $STATUS symbol to the number of differences
encountered. This allows command procedures to take conditional
action when two files differ.
14.24 DIRECTORY
DIRECTORY displays information about a file or a list of files.
Syntax:
DIRECTORY[/qualifiers] filespec
Qualifiers:
/[NO]ACROSS Display sorted files across the screen.
/BEFORE[=date-time] Display files created before a given date
and time.
/[NO]BLOCKS List file sizes in units of 512 byte blocks [or in
bytes].
/[NO]BRIEF List only directory headers and file names.
/COLUMNS=n Use this many columns for display.
/[NO]CREATION_DATE=n Use this many columns for file date
display.
/DATE[=date] Select files created on the specified date.
/[NO]DESCENDING Display files in descending order.
/DIRECTORY List only subdirectories.
/[NO]DOWN Sort items in columns on the screen.
/EXCLUDE=(files) Exclude specified files.
/[NO]FAST Same as /BRIEF.
/[NO]FORMAT[=parts] Produce output suitable for input to a
program. If used, parts must be one of the following:
NONODE Omit node specification, if any.
NODEVICE Omit device specification
NODIRECTORY Omit directory specification
NONAME Omit file name
NOEXTENSION Omit file extension
NOTYPE Omit file extension
/FREE Report only free space on disk.
Chapter 14. TSX Command Summary 105
/[NO]GRAND Report only grand total size of specified files.
/[NO]HEADER (Default) Include header line in listing.
/LOWCASE List file names in lower case.
/[NO]NAME[=n] Use this many columns for file name. Default: 12
/NEWFILES List only files created today.
/[NO]NUMBNU[=n] Assign sequential numbers to files; n specifies
number of columns to be use for numbers.
/ORDER[=sort_key] Sort file list on the specified key(s).
Sort_key must be one of the following:
ALLOCATED Space file takes on disk.
CREATED Creation date.
CREATION_DATE Creation date.
DIRECTORY File directory.
EXTENSION File name extension.
NAME Primary file name.
SIZE_ALLOCATED Space file takes on disk.
SIZE_USED File space actually used.
TYPE File name extension.
USED File space actually used.
/OUTPUT[=file] Send output to the specified file. Default:
DIRECT.LST
/PAUSE Pause after each screen of output.
/REVERSE Same as /DESCENDING.
/SINCE[=date-time] Select files created since a given date and
time.
/[NO]SIZE[=sizespec] Include file sizes in listing. If used,
sizespec must be one of the following:
ALL Show both size allocated and used.
ALLOCATED Show space file takes on disk.
USED Show actual size of file.
/SORT[=sort_key] Same as /ORDER.
/[NO]TOTAL Same as /[NO]GRAND
/[NO]TRAILER (Default) Include trailer lines in listing.
/WIDTH=n Use this width for output.
You can use the "\...\" wildcard notation to obtain a directory of
all files in a directory tree. See Section 5.2, on page 39, for
additional information about wildcards.
Chapter 14. TSX Command Summary 106
See the description of the FMAN command on page 111 for information
about a screen-oriented file management program.
14.25 DISPLAY
DISPLAY displays a text string on your terminal.
14.26 DOS
DOS Invokes the DOS command processor (COMMAND.COM). See Section
4.5 on page 31 for additional information about this command.
Syntax:
DOS[/qualifiers] [dos_command]
Qualifiers are the same as for the RUN command.
14.27 DUMP
DUMP provides various formatted displays of the contents of a file.
Syntax:
DUMP[/qualifiers] filespec
Qualifiers:
/[NO]ASCII(Default) Display ASCII representation of each
character.
/BLOCK (Default) Dump is block oriented instead of record
oriented.
/COLUMNS=columns Display this many columns in the output.
/CONTINUOUS Display offset from start of file instead of start
of block.
/COUNT=count Dump this many blocks or records.
/DRADIX=radix Use this radix (2,8,10, or 16). Default: 16
/END=value Stop dump at this block or record.
/FORMAT=name Use this format: DEFAULT or COLUMN.
/[NO]HEADER (Default) Display header lines introducing each line
or block.
Chapter 14. TSX Command Summary 107
/LOGICAL Read logical blocks instead of virtual blocks (for disk
partition).
/LONGWORD (Default) Display 32-bit longwords as separate
entities.
/MAXREC=value Specify the longest record in the file. Default:
2048.
/NRADIX=radix Use this radix for offset numbers (2,8,10, or 16).
Default: 16.
/[NO]NUMBER (Default) Display labels for byte numbers.
/OUTPUT=file Write output to the specified file.
/PHYSICAL Read physical blocks instead of virtual blocks (for
disk partitions).
/NRADIX=radix Use this radix for data and offset labels.
/RECORD Display individual records instead of blocks.
/START=value Begin display at this block or record.
/WIDTH=width Specify how wide the output should be. Default:
80.
/WORD Display 16-bit words as separate entities instead of
longwords.
14.28 EDIT
EDIT Invokes the EDIT-32 (E32) editor program. EDIT-32 is designed
to facilitate the migration of users familiar with the EVE and KED
editors on DEC computer systems. See REGISTER.DOC for information
about ordering an EDIT-32 Reference Manual.
14.29 EVALUATE
EVALUATE evaluates an expression and print the result at your
terminal. Symbols may be used in the expression. See also the
description of the CALCULATE command for a general numeric
expression calculator.
Examples:
EVALUATE 12*15*3
EVALUATE NUMFILES + 3
Chapter 14. TSX Command Summary 108
The EVALUATE command is a convenient way to evaluate a command
expression and display the result at your terminal. The EVALUATE
command is especially convenient for experimenting with lexical
functions (see Section 9.10).
14.30 EVENT
EVENT Displays records in an event log file. The SHOW EVENTS
command does this in a screen-oriented fashion.
Syntax:
EVENT[/qualifiers] eventlog
Qualifiers:
/DATE Display date record was written in output.
/DELETE Delete the specified event log file.
/OUTPUT=file Send output to specified file.
/[NO]SCREEN (Default) Display output on screen.
/TIME Display time record was written in output.
14.31 EXIT
EXIT terminates command file and returns to higher level command
file or the keyboard monitor. This command will also exit the DOS
command interpreter (entered using the DOS command).
Syntax:
EXIT[/qualifiers]
Qualifiers:
/ABORT Abort higher level command files and return to command
prompt.
/STATUS=value Return the specified exit status code.
14.32 EXPAND
The EXPAND command is used to generate a command file consisting of
a set of commands merged with a set of file specifications. You
could, for example, use EXPAND to generate a command file to
compile all source files in a certain directory. The set of files
Chapter 14. TSX Command Summary 109
may be specified with wildcard file specifications much the same as
for the DIRECTORY command.
Syntax:
EXPAND[/qualifiers] filespec "command"
filespec is a filename or a comma separated list of file names.
Each file name may include wildcards. See Section 5.2,
page 39, for more information about wildcards. Fields
not specified on a file name are taken from the previous
file name in the command if one has been specified.
Otherwise directory and device fields are taken from the
current default directory.
You may also specify a file name of the form
"@filespec". In this case, the set of file
specifications to be merged with the commands is
provided in the file specified by filespec.
command specifies the command(s) to be executed once for each
file selected. The commands you specify should include
substitution constructs, explained below, which tell
EXPAND where the name of the selected file should be
inserted in the command. The command specification
should be enclosed in quote marks.
Qualifiers:
/ARCHIVE Select files with the archive attribute set.
/BEFORE[=date-time] Select files created before a given date and
time.
/DATE[=date] Select files created on the given date.
/DIR=dir-command Execute this command for each new directory
encountered.
/EXCLUDE=(files) Don't process specified files.
/HEADER="text" Insert specified text at start of output command
file.
/NEW Only include files created today.
/OUTPUT[=file] Specify the name of the output command file.
Default: ALL.CMD
/RECORD Clear archive bit on processed files.
/SINCE[=date-time] Selects files created since a given date and
time.
Chapter 14. TSX Command Summary 110
/TRAILER="text" Insert specified text at end of output command
file.
The "command" parameter to the EXPAND command specifies the format
of the commands which are written to the output command file for
each selected file. Substitution constructs of the form "|letter"
(vertical bar followed by one or more letters) inside the command
are used to instruct EXPAND where to place the name of each file in
the command. As a simple example, consider the following EXPAND
command:
EXPAND *.C "CC |A"
This EXPAND command generates a command file named ALL.CMD
containing commands to perform the "CC" command on each file with
an extension of ".C". The "|A" construct instructs EXPAND to
insert the entire filename into the command at the position where
"|A" occurs. The resulting ALL.CMD file might contain the
following commands:
CC INIT.C
CC MAIN.C
CC EXIT.C
Note that all the text besides substitution constructs is copied
verbatim from your command specification to each line of the
generated command procedure.
The following substitution operators may be used in the command
string:
|A Entire filename.
|N Device name.
|D Directory name.
|F File name.
|E Extension (with leading period).
|V A VAX/VMS style directory.
|-D File name with no device or directory.
|-E File name with no extension.
|/ Begin a new line.
|| Literal '|' (vertical bar) character.
14.33 FILEWATCH
The FILEWATCH command causes TSX to create an event log file to
record all accesses to a specified file or group of files.
Syntax:
FILEWATCH[/qualifiers] filespec
Chapter 14. TSX Command Summary 111
Qualifiers:
/[NO]READ (default) Monitor file reads.
/[NO]WRITE (default) Monitor file writes.
/NONE Disable monitoring of the file.
The FILEWATCH command causes TSX to monitor accesses to all files
that match the "filespec" specification. This is useful for
security purposes or any other time that you want to determine who,
if anyone, is accessing or altering a particular file or set of
files. The file accesses that are monitored are: open, create,
delete, and rename.
When you issue a FILEWATCH command, TSX creates an event log file
named FWATCH (if it does not already exist). Use the SHOW EVENTS
command described on page 152 to monitor events in the FWATCH event
log file. See Section 10.6 on page 68 for additional information
about event logs.
If no qualifiers are specified, both read and write type accesses
are monitored. Use the /NOREAD and /NOWRITE qualifiers to disable
either type of monitoring. The /NONE qualifier disables monitoring
of the specified file.
The "filespec" parameter to the command is the file specification
that is to be monitored. This specification may include wildcard
characters in the file name, extension, and directory. You may
also use the "..." wildcard operator in the directory portion to
monitor all file accesses in or below a certain directory. The
device name portion of the specification may not include wildcard
characters. For example, the following command monitors all write
type accesses to all files in the C:\PHIL directory and all
directories below it:
FILEWATCH/NOREAD C:\PHIL\...\*.*
SYSPRV privilege is required to use the FILEWATCH command.
14.34 FMAN
FMAN The full screen file management utility. Use FMAN to manage
files and directories, and control file access.
Syntax:
FMAN [directory]
In response to the FMAN command, TSX displays a list of the files
in the current directory or the directory that was specified on the
command line. For each file, the name, extension, size and
date/time of last modification are displayed. The letter 'P'
Chapter 14. TSX Command Summary 112
appears in the right most column if the file is protected against
deletion. Use the Up-arrow/Down-arrow keys or the
Page-up/Page-down keys to move through the list of files. Press
ESC (or "Do" on a DEC VT series terminal) to exit from FMAN.
A menu of action keys appears to the right of the file list; choose
an action by typing the appropriate key. Each of the actions is
described below:
Enter = Mark/Unmark -- If you are performing the same action on
a group of files, it is sometimes easier to "mark" the
set of files and then apply the action to the entire
set. When you press Enter the currently highlighted
file is marked and an indicator appears to the left of
its name. If you reselect the file and press Enter
again, the mark will be removed.
A = Attributes -- Pressing "A" causes a menu to appear which
allows you to protect or unprotect a file, or set of
files, against deletion. If you have BYPASS privilege
you will also be given menu choices for modifying the
access controls for a file.
C = Copy -- A box appears requesting the destination for the
copy. If you are copying a set of files, you should
specify a wildcard for the destination file names so
that the original file names will be used for the newly
created files.
D = Delete -- A confirmation box appears asking you if you are
sure you want to delete the selected file(s).
E = Edit -- The EDIT--32 editor is invoked to edit the selected
file. The FMAN display resumes when you exit from the
editor.
F = Find file -- A box appears asking for a search string. You
may type an entire file specification or only the first
letter or two of a file name. The list of files is
searched and the first file name that matches the
letters you type is selected.
G = Go into directory -- You may type this to begin browsing the
subdirectory whose file name is currently selected. The
right arrow key may also be used to perform this
operation.
H = Higher directory -- This causes FMAN to leave the current
directory and display files in the directory above the
current directory (i.e., closer to the root). The left
arrow key will also perform this operation. If you
continue to type 'H' (or left arrow) you will eventually
be presented with a list of the disks installed in the
computer.
Chapter 14. TSX Command Summary 113
K = Make directory -- This action allows you to create a new
subdirectory. A box appears asking for the name of the
directory to create.
L = Mark all -- Marks all files in the current directory.
Equivalent to moving down the list and pressing Enter
for each file.
M = Move file -- Copies the selected files to a destination that
you specify and then deletes the files from the current
directory.
N = New directory -- You will be prompted for the name of a new
directory whose files will be displayed.
R = Rename file -- You will be prompted for the new name for the
selected file(s).
S = Sort list -- This action causes FMAN to reorder the list of
file names. A menu will appear allowing you to select
the item to sort on (name, extension, date/time, or
size) and another menu will allow you to select
ascending or descending order.
U = Unmark all -- All marked files are unmarked.
X = Exit -- Exit from FMAN. Equivalent to typing ESC.
FMAN is also used to control which files and/or directories each
TSX user may access. The access control is based on a user and
group ID code that is assigned by the system manager and associated
with the user name entered to the LOGON program. (TSAUTH and LOGON
are part of the TSX-Lite Security Kit.)
If you have BYPASS privilege, the right most column of the primary
file display list will be labeled "PA" The letter 'A' appears in
this column if there are file access control entries associated
with the file. To modify the access control entries for a file,
type 'A' to select the Attributes menu item, and then type 'A'
again to select the Access control entry from the attributes menu.
To set access controls for an entire disk, type 'H' (or left arrow)
until you reach the menu with the disk drive names. Then select
the appropriate drive entry and type 'A' to invoke the access
control list display for the disk.
The access control list screen displays all access control entries
that are in effect for the selected file or directory. To add a
new entry type 'A', to delete an entry type 'D', to modify an entry
type 'Enter'.
The first field in the access control entry box is the name of the
user whose access to the file or directory is to be controlled.
You may type one of three things: (1) a valid user name that exists
in the TSX account authorization file, (2) a group/member number
Chapter 14. TSX Command Summary 114
written in square brackets (e.g., "[121,47]"), or (3) a question
mark, in which case you will be presented with a list of authorized
users when you exit by pressing ESC. If you specify a group and
member number, you may specify an asterisk ('*') as a wildcard
character to match any group number, member number, or both. For
example [233,*] would match any member number but applies only to
users in group 233. Similarly, [*,*] applies to all users.
The next three items control the type of access the specified
user(s) will have to the file. If you specify 'Y' for write
access, the user will have full access and may write to the file,
delete the file, rename the file, and execute the file. If you
specify 'Y' for read access, the user may read the file, copy it,
and execute it but may not delete or otherwise modify the file. If
you specify 'Y' for execute access, the user may execute the file
but may not read, copy, or modify the file.
Press ESC to exit from the access control entry box.
14.35 FORMAT
FORMAT Formats diskettes.
Syntax:
FORMAT drive: [/qualifiers]
Qualifiers:
/4 indicates that this is a 360K diskette in a 1220K drive.
/7 indicates that this is a 720K diskette in a 1440K drive.
/8 formats 8 sectors per track.
/N:n Formats n sectors per track.
/O formats a diskette which is compatible with versions 1.x of
DOS.
/T:n Formats a diskette with n tracks. (Maximum 80)
/V prompts for a volume label for the disk.
/[NO]QUERY (Default) prompts for a diskette before and after
format.
Chapter 14. TSX Command Summary 115
14.36 GOTO
GOTO Transfers control to a label in a command file.
Syntax:
GOTO label
14.37 HANLOAD
HANLOAD Used by the system manager to install loadable device
drivers. Normally HANLOAD commands are generated automatically by
the MAKELOAD program and placed in the system startup file
TSXLOAD.CMD. Only certain foreign terminal support handlers are
supported by TSX-Lite.
14.38 HELP
HELP Displays information about system commands and options.
Syntax:
HELP [topic]
14.39 IF
The IF command evaluates a logical expression and conditionally
executes a command if the value of the expression is true. The DOS
forms of the IF command are also supported.
Syntax:
IF expression THEN command
DOS Style Syntax:
IF ERRORLEVEL value command
IF EXIST filespec command
IF string1==string2 command
Examples:
IF X .EQ. Y THEN GOTO END
IF ERRORLEVEL 1 THEN EXIT
IF EXIST FILE.TXT THEN GOTO READFILE
The expression is evaluated; it may contain operators and lexical
functions. If its value contains any characters other than 0 or
space it is considered to be true and the command following THEN is
Chapter 14. TSX Command Summary 116
executed. If the value of expression is zero or null, the
controlled command is not executed.
For example, the statement:
IF SYM1 .EQS. "this is a string" THEN DISPLAY Strings matched
compares the string "this is a string" with the value of the symbol
SYM1. Note that it was not necessary to use the apostrophe
substitution operator to get the value of SYM1.
Examples:
S1:= string1
S2:= string2
IF S1 .EQS. S2 THEN DISPLAY S1 is equal to S2
This test compares the values of the symbols S1 and S2. In this
case the strings are not equal, so the DISPLAY command is not
executed.
I = 1;
IF I .LT. 10 THEN @DOMORE
In this example the expression is true, so the DOMORE command file
is executed.
The expression can be quite complex and involve lexical functions.
For example, the statement:
IF (COUNT.LE.10).OR.$LENGTH(ANSWER).LT.3 THEN EXIT
executes the EXIT statement if the value of COUNT is less than or
equal to ten or the length of the string associated with the ANSWER
symbol is less than 3. See Section 9.10 for additional information
about lexical functions.
14.40 INITIALIZE
INITIALIZE Initializes removable disks and tapes. This has the
effect of deleting all files on the device.
Syntax:
INITIALIZE drive
14.41 INQUIRE
INQUIRE Reads a string from the terminal and assigns it to a
symbol.
Chapter 14. TSX Command Summary 117
Syntax:
INQUIRE symbol [prompt]
Examples:
INQUIRE YESNO Do you wish to continue?
The INQUIRE command gets a string from the terminal and assigns it
to a local symbol. The input comes from the terminal even if a
command file is in operation. Since the input always comes from
the terminal, this command is useful for prompting for values from
within a command file. The value which is collected from the
terminal is the entire input line, including any spaces.
14.42 JMAN
JMAN is a full screen job management utility. Use JMAN to display
information about currently executing jobs and perform common job
related system management functions. These include displaying open
files for a job and killing a job.
Syntax:
JMAN
In response to the JMAN command, TSX displays a list of the jobs
currently executing on the system.
A menu of action keys appears to the right of the job list; choose
an action by typing the appropriate key.
14.43 KERMIT
KERMIT Invokes the Kermit file transfer program. Kermit is
provided as part of the optional TSX-Lite Utilities Kit (see
REGISTER.DOC).
14.44 KEYLOAD
The KEYLOAD commands loads the character mapping tables needed for
international keyboard support.
Syntax:
KEYLOAD[/LINE] file.KEY
Where 'file.KEY' is a keyboard mapping file such as ITALY.KEY or
GERMAN.KEY. If the /LINE qualifier is specified the keyboard
Chapter 14. TSX Command Summary 118
mapping applied only to the line executing the command. Otherwise,
it applies to all lines on the system.
See Section 3.6 on page 27 for more information about this command.
14.45 KILL
KILL is a synonym for STOP. See the description of STOP on page
159 for information.
14.46 LOGOFF
LOGOFF Logs off the current job. You can use OFF or BYE if you
prefer.
Syntax:
LOGOFF
OFF
Qualifiers:
/NOACCOUNTING Disables reporting of the accounting information
to your terminal.
14.47 MACROS
MACROS Invokes macro definition program to edit or load keyboard
macros.
Syntax:
MACROS[/qualifiers] [filespec]
Examples:
MACROS
MACROS/LOAD TED.MAC
Qualifiers:
/LOAD Load macro definitions from specified file.
/SYSTEM Make macros available for all lines on the system.
The MACROS facility associates a sequence of keystrokes with a
single keystroke. Macros can only be used with workstations which
send make/break codes into the system. This includes the console
Chapter 14. TSX Command Summary 119
keyboard, PC-term terminals, and TSXTERM terminals. You may not
used macros from ASCII terminals such as the VT300.
Macros are most commonly used to provide a shorthand method of
entering common commands. For example, you may want to define the
F10 key to generate the command:
DIR/SINCE=YESTERDAY
Macro definitions may be stored in a file and loaded in
automatically when the system boots (for system wide definitions)
or when you log in (for line specific definitions).
The MACROS command makes available macros from the specified file,
as well as any revisions you make in edit mode. These definitions
are active for your time-sharing line, even after you log off and
back on. Use the /SYSTEM qualifier to specify that macros are to
become available for all lines on the system. Use the /LOAD
qualifier to load macros from the specified file without any
interactive editing.
Suppose you require a shorthand method of entering the command
PRINT/QUEUE=LASER1/STOCK=LETTERHEAD LEADS.TMP
and decide that the key sequence ALT-P is a natural mnemonic for
this command. You can issue the command
MACROS
to operate the key definition facility in edit mode to specify the
definition. The facility provides you with instructions on the
screen. Commands are entered with two keystroke sequences
beginning with the ESCAPE key. Any other key you press allows you
to associate a macro definition for that key. Hence you hold down
the ALT key and press P.
The macro definition facility informs you that you are now editing
the definition of "LALT-P" or "RALT-P", depending on whether you
pressed the left or right ALT key. The facility allows you to
establish separate definitions for every key in each of six shift
states: unshifted, shifted, left ALT, right ALT, left CONTROL, and
right CONTROL.
The MACROS program will show you the current definition, if any,
when you redefine a key. Note that MACROS is only aware of
keyboard macros defined in the file you are editing, or which you
have specified in the current session. MACROS can not determine
whether a key has been defined in a different file or in a
different session.
If the macro is being used with a 16-bit DOS program that takes
over keyboard interrupts, such as WordPerfect, the macro definition
may not exceed 16 characters in length.
Chapter 14. TSX Command Summary 120
After you finish entering the macro definition press ESCAPE
followed by 'E' to exit the macro definition facility. The macro
you established will remain active for your line, even after you
log off. Only rebooting the system or using the MACRO command
again will erase or alter the definition of ALT-P.
Let us now suppose that you wish to store this definition in the
file CINDY.KEY so you do not have to respecify the definition each
time the system is booted. Use the command
MACROS CINDY.KEY
to create (or edit an existing) file named CINDY.KEY. Re-enter the
definition of ALT-P and exit normally using ESCAPE followed by 'E'.
To force the macros in file CINDY.KEY to be loaded for your line,
you can place the command
MACROS/LOAD CINDY.KEY
in your line specific startup command procedure.
If you wish to establish system-wide macro definitions, place a
command of the following form in your SY:LSTARTUP.CMD system
start-up command file:
MACROS/LOAD/SYSTEM filename
14.48 MAIL
MAIL Starts the MessageNet electronic mail program. MessageNet is
provided with the optional TSX-Lite Utilities Kit (see
REGISTER.DOC).
14.49 MD
MD is a synonym for MKDIR. See MKDIR for information.
14.50 MESSAGE
MESSAGE Displays the error message text for the specified TSX
status code. MSG is an equivalent.
Syntax:
MESSAGE message_code
Chapter 14. TSX Command Summary 121
Examples:
MESSAGE 30010041
?TSX-E-INSUFMEM, Insufficient memory for allocation
MESSAGE 301E0009
?RTL-E-FCH2BIG, Fortran character string too long
14.51 MKDIR
MKDIR Creates subdirectory files. It is equivalent to the MD
command.
Syntax:
MKDIR dirspec
MD dirspec
14.52 MN
MN is a synonym for MAIL.
14.53 OFF
OFF is a synonym for LOGOFF. See LOGOFF for information.
14.54 ON
ON is used to declare a statement that is to be executed if an
error occurs. You can specify different statements to be executed
based on the error severity level.
Syntax:
ON INFORMATION THEN statement
ON WARNING THEN statement
ON ERROR THEN statement
ON NONE
Specify one of the keywords INFORMATION, WARNING, ERROR, or NONE to
indicate what error severity level is to trigger the statement
specified by "statement". If an error of the specified severity or
greater occurs in the command file, the stored statement is
executed. If you specify ON NONE then no statement is executed
when a subsequent error occurs.
As an example, consider the following statements:
Chapter 14. TSX Command Summary 122
ON ERROR THEN GOTO ABORT
COPY LAB1.DAT A:LAB1.DAT
COPY LAB2.DAT A:LAB2.DAT
COPY LAB3.DAT A:LAB3.DAT
EXIT
ABORT:
DISPLAY "Copy error occurred"
EXIT/ABORT
The first statement in this example specifies that if an error
occurs on subsequent statements in the command file then the
statement "GOTO ABORT" is to be executed, transferring control to
the ABORT label.
If you simply want to cause a command file to terminate if an error
occurs, specify the statement:
ON ERROR THEN EXIT
Or, if you wish to abort all nested command files, use the
statement:
ON ERROR THEN EXIT/ABORT
Only a single ON statement can be in effect for a command file.
Thus is you specify ON ERROR... and later specify ON WARNING...
the second ON statement will supersede the first.
Each level of command file nesting may have its own ON statement.
Outer level ON statements apply to nested command files unless they
have local ON statements. When a command file exits, the ON
statement appropriate to the next higher level takes effect.
14.55 PATH
PATH defines or displays search path.
Syntax:
PATH [pathspec]
If you want to define a path for all users, place a command of the
following form in your SY:LSTARTUP.CMD system-wide, start-up
command file:
SET/SYSTEM PATH=pathspec
Chapter 14. TSX Command Summary 123
14.56 PAUSE
PAUSE pauses command file execution until Return key is pressed.
Syntax:
PAUSE [message]
Examples:
PAUSE Mount second output disk
PAUSE Press Return when ready...
14.57 PHONE
PHONE connects to another terminal to carry on a 2-way
conversation. See the description of the SEND command on page 64
for information about sending a message to another user.
Syntax:
PHONE [user_name]
PHONE [terminal_name]
See Section 10.2.5 on page 65 for additional information about the
PHONE command.
14.58 PMAN
The PMAN command allows you to associate attributes with programs
so that the attributes are used by TSX whenever the program is
executed. A program whose attributes have been specified using
PMAN is referred to as having been "installed" in TSX. Many
attributes can be set with PMAN, some of which can have a dramatic
effect on the performance of programs running under TSX. However,
it is not necessary to "install" most programs with PMAN in order
to use them with TSX; PMAN simply specifies parameters that tune
the execution of a program under TSX.
When you use PMAN to associate attributes with a program the
attribute settings take effect immediately (you do not need to
reboot TSX). In addition, PMAN updates a file in the TSX system
directory named INSTALL.CMD with information about the attributes
for each program. The INSTALL.CMD file is executed automatically
each time TSX is booted so the attributes will remain in effect
over system restarts.
See Chapter 4 for additional information about using PMAN.
Chapter 14. TSX Command Summary 124
14.59 PRINT
PRINT Submits a request to the spooler to print one or more files.
You can use the PRINT command or the QMAN program to check on the
status of jobs in the print queue.
Syntax:
PRINT[/qualifiers] filespec
Qualifiers:
/AFTER[=date-time] Print files created after this date/time.
/BEFORE[=date-time] Print files created before this date/time.
/[NO]BINARY Print in "binary" mode.
/[NO]CONFIRM Request confirmation before each file is printed.
/COPIES=n Print each file in print job this number of times.
/DATE[=date] Print files created on this date.
/[NO]DELETE Delete file after printing.
/[NO]DOUBLESPACE Print files doublespaced.
/ENDPAGE=n Stop printing at this page.
/EXCLUDE=(files) Don't print specified files.
/[NO]FEED Issue form feeds between pages.
/FLAG[=(JOB[=n],FILE[=n],NOJOB,NOFILE)] Specify printing of flag
pages.
/FORM=formname Use the specified form.
/[NO]HEADER Put header lines on each page of print job.
/[NO]HOLD Hold job until released with SET ENTRY id/NOHOLD
command.
/[NO]IDENTIFY Display queue name and id number on print job.
/LENGTH=n Start a new page after this many lines (default: 66).
/[NO]LOG Display the name of each file printed.
/MARGIN=(LEFT=lmar, RIGHT=rmar, TOP=tmar, BOTTOM=bmar) Specify
margins.
/NAME=nametext Specify the job name.
Chapter 14. TSX Command Summary 125
/NOTE="notetext" Print notetext on job and file flag pages.
/[NO]NOTIFY Display a message on terminal when print job
completes.
/[NO]PASSALL Equivalent to /BINARY.
/PRIORITY=n Run print job at this priority.
/QUEUE=queuename Submit job to the specified print queue.
/QUIET Do not display the job name, entry number, and the name
of the queue.
/[NO]RESET= ([NO]FILE=file,FORMATTED],[NO]JOB=file[,FORMATTED])
Use the specified reset files.
/[NO]RESTART Restart printing after a system reboot.
/[NO]SETUP= ([NO]FILE=file[,FORMATTED],[NO]JOB=file[,FORMATTED]
Use the specified setup files.
/SINCE[=date-time] Print files created since specified
date/time.
/[NO]SPACE Same as [NO]DOUBLESPACE.
/STARTPAGE=n Start printing at this page.
/STOCK=stockname Use this paper stock for job.
/[NO]TRAILER[=(JOB[=n],FILE[=n],NOJOB,NOFILE) Specify trailer
pages.
/[NO]TRUNCATE Truncate lines that extend beyond right margin.
/WIDTH=n Page is this many characters wide, including margins.
/[NO]WRAP Wrap line that extend beyond right margin.
If you type PRINT without specifying a file name, a list of all
pending print jobs will be displayed. You can also use the QMAN
program to check on the status of print jobs. See Chapter 8,
starting on page 47, for additional information about the use of
spooled printers.
14.60 PROMPT
PROMPT Changes the prompt string that is displayed by the command
processor.
Chapter 14. TSX Command Summary 126
Syntax:
PROMPT [string]
14.61 PROTECT
PROTECT sets the file protection attribute on one or more files.
Syntax:
PROTECT[/qualifiers] filespec
Qualifiers:
/BEFORE[=date-time] Select only files created before specified
date/time.
/[NO]CONFIRM Request confirmation before acting on each file.
/DATE[=date] Select files created on specified date.
/EXCLUDE=(files) Exclude specified files.
/[NO]LOG Display each file name on terminal.
/NEW Select only files created today.
/[NO]QUERY Same as /[NO]CONFIRM.
/SINCE[=date-time] Select files created since specified
date/time.
Examples:
PROTECT MAINTEST.C
PROTECT TEST1.DAT,TEST2.DAT,TEST3.DAT
PROTECT *.C
14.62 QMAN
The QMAN command invokes a screen oriented queue manager program
for creating and modifying print and batch queues. It is also used
to define and modify print forms and to delete or modify print or
batch jobs.
Syntax:
QMAN
The initial screen shows a list of all currently existing queues
(both print and batch). Along the right side of the screen is a
Chapter 14. TSX Command Summary 127
menu of action keys that can be pressed to perform functions on the
queues. Use the arrow keys to select a queue and then type an
action key to perform the desired function. Extensive on-line help
is available for QMAN; type F1 at any point for help regarding the
current situation. Press ESC to exit from QMAN.
See Chapter 8, starting on page 47, for additional information
about the use of QMAN.
14.63 R
The R command runs a program which is located in the SY area
(\TSX32SYS).
Syntax:
R[/qualifiers] program
Qualifiers are the same as those used for the RUN command (see page
131).
14.64 RD
RD is a synonym for RMDIR. See RMDIR for information.
14.65 RECALL
The RECALL command displays the set of saved commands and recalls a
specific saved command either by specifying an index number or a
string that matches the beginning of the command.
Syntax:
RECALL[/qualifiers] [selector]
Qualifiers:
/REVERSE Display commands from oldest to newest.
If you use the RECALL command without specifying a "selector"
parameter, a numbered list of all saved commands is displayed.
Normally, the most recently saved command is displayed first and
the oldest command is displayed last. You can use the /REVERSE
qualifier to reverse the order of display. An example of a RECALL
command list is shown below:
Chapter 14. TSX Command Summary 128
1: RUN TEST
2: LINK TEST
3: COMPILE TEST
4: EDIT TEST
The number displayed to the left of each command is an index which
can be used to recall a saved command. For example, the following
command recalls the third saved command (the "COMPILE TEST" command
in this example):
RECALL 3
You can also use a character string to specify the command to be
recalled. The characters in your selector string are compared with
the beginning characters of each saved command in the order newest
to oldest. The first command that matches the specified string is
recalled. For example, the following command recalls the "COMPILE
TEST" command:
RECALL COMP
See also Sections 3.2 and 14.75.
14.66 RENAME
RENAME renames one or more files. You can also use this command to
rename directories.
Syntax:
RENAME[/qualifiers] old_name new_name
Qualifiers:
/BEFORE[=date-time] Select files created before specified date
and time.
/[NO]CONFIRM Request confirmation before renaming each file.
/DATE[=date] Select files created on the specified date.
/EXCLUDE=(files) Exclude specified files.
/[NO]LOG Display file names after each file is renamed.
/NEWFILE Select only files created today.
/[NO]QUERY Same as /[NO]CONFIRM
/[NO]REPLACE (Default) Overwrite existing files.
/SINCE[=date-time] Select files created since specified
date/time.
Chapter 14. TSX Command Summary 129
14.67 RESTORE
RESTORE restores files from a backup save set created with the
BACKUP command.
Syntax:
RESTORE[/qualifiers] save-set [out-spec]
Qualifiers:
/AFTER[=date-time] Select files created since specified date and
time.
/BEFORE[=date-time] Select files created before specified date
and time.
/BELL Ring the bell during volume change operations.
/[NO]CRC Perform CRC checksum calculations.
/[NO]CONFIRM Confirm whether each file should be restored.
/DIRECTORY List the contents of the input save set.
/EXCLUDE=(files) Exclude the specified files.
/INCLUDE=(files) Include only the specified files.
/LIST Same as /DIRECTORY
/LOCAL Place files on the local network node.
/[NO]LOG (Default) Display name of each file restored.
/REPLACE Overwrite existing files with the same name.
/SINCE[=date-time] Same as /AFTER.
/[NO]WARN Print a warning message if a file cannot be restored.
The simplest RESTORE command specifies that all files from the
input save set should be copied to their original location (i.e.,
the device and directory where they were when BACKUP created the
save set). An example of such a command is:
RESTORE B:SAVE1
All files in save set B:SAVE1.BSS are restored to their original
location. Variants of the RESTORE command select which files are
restored from the input save set and also specify what devices and
directories they are written to.
The contents of a save set can be listed without restoring any
files by using the /LIST qualifier, as in the command:
Chapter 14. TSX Command Summary 130
RESTORE/LIST A:FULL.BSS
You can select only certain files from the save set by using the
/INCLUDE qualifier. For example, the command:
RESTORE/INCLUDE=*.C A:FULL
restores only files having the extension ".C".
Directory specifications can be used in the /INCLUDE qualifier as
well. The command
RESTORE/INCLUDE=\TRAUMA\*.* A:FULL.BSS
restores all files from the \TRAUMA\ directory and
RESTORE/INCLUDE=\TRAUMA\...\*.* A:FULL.BSS
selects the subdirectories of \TRAUMA\ as well. If you know you
want some, but not all files matching a /INCLUDE criteria, you can
use the /CONFIRM qualifier. When you use this you are asked on a
file by file basis whether you really want the file restored.
In addition to selecting files, you can use the /EXCLUDE qualifier
to specify files that are not to be restored. This qualifier can
be used by itself or in combination with /INCLUDE. For example,
RESTORE/INCLUDE=*.C/EXCLUDE=\TSX32\KERNEL\*.C A:FULL
restores all files with an extension of ".C" except those which
reside in directory \TSX32\KERNEL.
To specify that output files should be restored to a different
device or directory than where they originally resided it is
necessary to provide an output file specification. Suppose, for
example, that save set FULL.BSS contained a backup of device C: but
you want to restore the files to device D:. The following command
command does this.
RESTORE A:FULL.BSS D:
The elements present in the output specification (in this case only
the device name) are used first in constructing the name of each
output file. Then any missing parts are taken from the original
filename. Thus, the files will be restored to their original
directories but on device D: rather than C:.
The following command restores only the files with an extension of
".DAT" to a single specific output directory named \TEMP,
RESTORE/INCLUDE=*.DAT A:FULL.BSS DHA0:\TEMP\*.*
The RESTORE facility will create directories as necessary to write
output files so that is not necessary that the target directory
even exist when the RESTORE command is issued. If directory and
Chapter 14. TSX Command Summary 131
subdirectory files are restored, all nonexisting portions of the
directory tree will be created.
The RESTORE facility can recover files even when some of the input
save set is missing or damaged. If a single save set block cannot
be read due to faulty media, RESTORE will reconstruct the lost data
using the redundancy blocks written by the BACKUP facility.
If you lose some volumes of a multi-volume save set you can still
recover the files which reside on the remaining volumes. In fact,
if you know in what order files were backed up and you have a save
set spanning several volumes, you may want to skip the first
volumes and begin the restore operation with volumes containing
files you want.
14.68 RMDIR
RMDIR deletes subdirectory files. It is equivalent to RD.
Syntax:
RMDIR dirspec
RD dirspec
14.69 RUN
RUN begins the execution of a program. This is equivalent to
typing the name of the program; however, by using the RUN command
you can specify the qualifier shown below to apply to the program's
execution.
Syntax:
RUN[/qualifiers] program
Qualifiers:
/BYPASN Don't perform logical device name assignments.
/DOSNET Tell DOS programs that all of its files are on networked
devices.
/[NO]DWRITE Allow program to directly access video memory.
/[NO]GRAPHICS Same as /[NO]DWRITE.
/HOLDPRIORITY Don't reduce priority when user switches to
subprocess.
/IOMAP Map virtual memory from 640Kb to 1MB to physical memory.
Chapter 14. TSX Command Summary 132
/IOPRIV Allow the privileged machine instructions: CLI, STI, IN,
OUT, INS, and OUT (this is the default).
/KBINT Allow program to take over the keyboard interrupt vector.
/LOCK Log off when program completes.
/NOCFIN Do not take input to program from command file.
/NONINT Run in "non-interactive".
/NORUNDIS Suspend program when user switches to a subprocess.
/NOSHARE Don't share the executable program with other users.
/[NO]TTWAIT Suspend program after default number of terminal
input loops.
/NOVARY3BA Always set video port 3BA to 0x80.
/OPT3BA Optimize programs doing IN operations from video port
3BA.
/SCCA Disallow Control-C abort of program.
/TTCKIO Allow more terminal input loops after an I/O operation.
14.70 SEARCH
SEARCH searches files for strings of text.
Syntax:
SEARCH[/qualifiers] filespec string
Qualifiers:
/BEFORE[=date-time] Selects files created before specified
date/time.
/BLOCK Read file in blocks of 512 bytes instead of records.
/[NO]BRIEF (Default) Display file name on same line as string.
/DATE[=date] Selects files created on the specified date.
/EXACT Do a case-sensitive search.
/EXCLUDE=(files) Exclude specified files.
/[NO]HEADER (Default) List file names in the output.
Chapter 14. TSX Command Summary 133
/LENGTH=length Specify maximum length of input records.
/LF Records are delimited with line-feeds alone.
/[NO]LOG Display the name of each file before it is searched.
/NAMES Display file names containing matches only.
/NEW Search only files created today.
/OUTPUT=file Redirects search output to specified file.
/REGULAR Search strings are regular expressions, not literal
text strings.
/REX Same as /REGULAR.
/SINCE[=date-time] Select files created since specified date and
time.
The SEARCH command locates occurrences of a specified text string
in a set of files. For example, the following command looks for
the text string "ALPHA" in a file named PARTICLE.C:
SEARCH PARTICLE.C ALPHA
Wildcards are frequently used in the file specifications for the
SEARCH command. For example, the following command searches for
all occurrences of the string ALPHA in all files with the extension
".C" in the current directory:
SEARCH *.C ALPHA
The "..." wildcard construct can be useful with the SEARCH command.
The following command searches for the string BETA in all files
with the extension ".C" in the \PILOT directory and all directories
below it:
SEARCH \PILOT\...\*.C BETA
See Section 5.2, page 39, for additional information about wildcard
constructs.
It is often desirable to use SEARCH to identify a set of files
which need some further processing (such as editing). The
following command creates a file X.X containing the names of all
files with an extension of ".C" containing the string "SPFUN":
SEARCH *.C SPFUN/OUT=X.X/NAMES
If the search string contains spaces or characters other than
letters and digits, enclose the string in quote marks. For
example, the following command searches for the string "NEW YORK":
Chapter 14. TSX Command Summary 134
SEARCH *.DAT "NEW YORK"
The SEARCH command allows you to specify more than one search
string. When this is done, any occurrence of any of the strings
will be found. For example, the following command searches for the
strings CALIFORNIA, TEXAS, and NEW YORK:
SEARCH *.LST CALIFORNIA,TEXAS,"NEW YORK"
Output can be redirected using the /OUTPUT=file qualifier. Names
of files can be suppressed using the /NOHEADER qualifier. Use of
the /NAMES qualifier specifies that output should consist only of
file names instead of data from the file. Finally, the /BRIEF
qualifier specifies that each line of output should contain both a
filename and the target record.
SEARCH normally reads in individual records of a file and looks for
search strings within a record. This is appropriate for text files
which use carriage-return line-feed sequences to mark the end of a
record. Since Unix systems delimit records with line-feeds (but no
carriage returns), the /LF option can be used to specify this
alternate record delimiter. If the input file does not consist of
records at all, the /BLOCK qualifier can be used to specify that
the input file be searched in single 512 byte blocks. Note that
search strings which begin in one block but end in the next block
will not be matched. The /BLOCK qualifier can not be used with
/BRIEF mode.
A "regular expression" describes a pattern of text instead of a
literal text string. The syntax used to describe a regular
expression search pattern consists of letters, digits, and
operators such as '*', '+', '$', and '%'. Using regular
expressions you can search for complex patterns. For example, the
following SEARCH command locates the phrase "NEW YORK" allowing the
words "NEW" and "YORK" to be separated by spaces on the same line
or split across two lines.
SEARCH/REGULAR *.TXT "NEW#+YORK"
The following SEARCH command locates all occurrences of the word
"void" as the first word on a line allowing spaces and tabs only to
occur between the start of the line and the word:
SEARCH/REGULAR *.C "$%W*void"
Because of the operator characters that are usually used in regular
expressions, you will need to enclose regular expressions in quote
marks. The SEARCH command strips off the enclosing quote marks
before interpreting the search pattern. In some cases you may need
to specify quote signs as part of the regular expression itself.
To do this, enclose the entire pattern in quote marks (") and use
the apostrophe character (') to quote the desired string within the
pattern. For example, the following command searches for a string
consisting of two dollar signs, followed by one or more digits,
followed by a colon:
Chapter 14. TSX Command Summary 135
SEARCH/REGULAR *.ASM "'$$'%D+':'"
Refer to the EDIT-32 User's Guide for additional information about
using regular expressions. The table below lists each regular
expression operator.
Expression Meaning Example
---------- --------------------------------- -------
c any non-operator character c a
\c character c literally \$
's' string s literally '$2.50'
. any character but line-delimiter a.b
$ line delimiter (end of line) $begin
# space or line-delimiter New#York
[s] any character in s [abc]
(p) subpattern p a(b|c)d
~p anything but p ~%D
p* zero or more occurrences of p a*
p+ one or more occurrences of p a+
p? zero or one occurrence of p a?
p{m,n} m to n occurrences of p a{1,3}
p1p2 p1 followed by p2 [ab][cd]
p1&p2 item must be p1 and p2 %D&~0
p1|p2 item may be p1 or p2 a(b|c|d)
%A upper- or lower-case letter
%C control character
%D decimal digit (0..9)
%H hexadecimal digit (0..9 or A..F)
%L lower-case letter
%N letter or digit
%P printing character
%Q quote mark (")
%U upper-case letter
%W "white space" -- space or tab
%X any char including line-delimiter
%( open paren with matching close paren
%[ open bracket with matching close bracket
%{ open brace with matching close brace
14.71 SEND
SEND sends a message to another user's terminal. See the
description of the PHONE command on page 65 for information about
conversing with another user.
Syntax:
SEND[/qualifiers] message
Examples:
SEND/NAME=PHIL/FORCE I think the computer is on fire.
SEND/TERM=COMPUTER_ROOM Please mount backup disk
Chapter 14. TSX Command Summary 136
Qualifiers:
/ALL Send to all jobs (except the sender).
/FORCE Override /GAG setting on other terminals.
/ID=job_id Send to specified job id number.
/NAME=user_name Send to specified user.
/NOBELL Don't ring bell on receiving terminals.
/PARENT Send to parent of current process.
See Section 10.2.4 on page 64 for additional information about the
SEND command.
14.72 SET CMDPROC
The SET CMDPROC command allows you to specify the name of a program
to act as the command processor for your job. You can also use
this command to specify a program to be run when some other program
exits.
Syntax:
SET CMDPROC /FILE=name[/qualifiers]
Qualifiers:
/FILE=name (Required) Specify name of command processor program.
/TEMP Use new command processor only once then use TSKMON.
The SET CMDPROC command allows you to provide the file
specification of a program to be used as the command processor for
your job. The command processor is the program that is run by TSX
when a program exits to the system. The initial default command
processor for each job is SY:TSKMON.EXP which can process the
keyboard commands described in the TSX-32 User's Manual.
If the /TEMP qualifier is not specified with this command, a new
default command processor is established for your job. Each time a
program exits, either normally or do to an abort, the current
default command processor is executed. Be careful about using this
command because unless your program correctly processes commands,
or resets TSKMON as the default command processor, you will have no
way to regain control. Note that typing control-C aborts the
current program and causes the current default command processor to
be run.
The /TEMP qualifier may be used to declare a temporary command
processor that will be executed only once when the next program
Chapter 14. TSX Command Summary 137
exit occurs. After that, the current default command processor for
your job will be used. The /TEMP qualifier is useful in that it
allows you to specify a program to do cleanup processing for some
other program.
14.73 SET DATE
SET DATE sets the system date. Date format is dd-mmm-yyyy. It is
equivalent to DATE.
Syntax:
SET DATE date
DATE date
14.74 SET DEFAULT
SET DEFAULT is equivalent to CHDIR. See CHDIR for information.
14.75 SET EDIT
SET EDIT controls the terminal input (command line) editor.
Syntax:
SET EDIT/qualifiers
Qualifiers:
/INSERT Start editor in insert mode.
/OVERSTRIKE Start editor in overstrike mode.
/KEYPAD Turn on numeric keypad editing keys.
/NOKEYPAD (Default) Use keypad as in DOS.
/[NO]KEYSUBSTITUTIONS (Default) Do DEFINE KEY substitutions.
/MAXUKD=n Allow n key definitions.
/MAXUKDLENGTH=n Allow key replacement string of maximum length
n.
/OFF Turn off the terminal input editor.
/ON (Default) Turn on the terminal input editor.
Chapter 14. TSX Command Summary 138
/SAVESIZE=n Recall a maximum of n command lines.
See also Sections 3.2 and 14.65.
14.76 SET ENTRY
SET ENTRY is used to control batch or print jobs. Using the QMAN
program is the preferred way to do this. See Chapter 8, starting
on page 47, for additional information about the use of QMAN and
spooled printers.
14.77 SET EVENT
SET EVENT starts or stops writing to event log files. The SHOW
EVENTS command is the preferred way to do this (see page 152).
Syntax:
SET EVENT/qualifiers
Qualifiers:
/[NO]FILE Create log of file operations.
/[NO]FLOCK Create log of file lock operations.
/[NO]SECURITY Create log of security operations.
14.78 SET HOST
SET HOST cross-connects your terminal with a communication port or
network node. Once connected, characters typed at your terminal
are sent to the designated line and characters received from it are
displayed on your terminal. Type control-backslash followed by
Enter to break the connection.
Syntax:
SET HOST ttname
SET HOST nodename
The SET HOST command cross-connects your time-sharing line with a
specified communication line. "Cross-connecting" a communication
line with your time-sharing terminal means that each character
typed at your terminal is transmitted on the communication line,
and each character received on the communication line is displayed
at your terminal. Because the system buffers characters between
your terminal and the communication line, your terminal may operate
Chapter 14. TSX Command Summary 139
at a baud rate different from that of the cross connected
communication line.
Once the cross-connection is established, nearly all characters
typed at your terminal are transmitted on the communication line
rather than being interpreted by the system. This includes
characters such as rubout, control-C, control-U, control-W, etc.
The one character that is interpreted by the system during a
cross-connection is defined by the "CCXCTL" sysgen parameter. By
default, it is the control-backslash character (hex 0x1C). When
this character is typed, it is not transmitted on the communication
line but causes the system to interpret the next typed character as
a cross-connection function character. Type carriage-return after
control-backslash to break the cross-connection and return control
to the program that initiated the cross-connection. Type two
consecutive control-backslash characters to cause one to be
transmitted through the communication line. Other cross-connection
function characters are listed in the following table:
Character Meaning
--------- --------------------------------------
B Transmit a break
C Break connection and drop DTR
D Raise DTR
H Drop DTR (hangup)
R Reset XON/XOFF status
X Break connection without dropping DTR
Enter Break connection and drop DTR
When you execute the SET HOST command, your process is suspended
until the cross connection is broken. This makes the
cross-connection very efficient since you are using very little
memory and you are not being scheduled for execution. If you
simply want to cross-connect your terminal to a communication line,
it is much more efficient to use the SET HOST command rather than
using a program such as Kermit in connect mode.
The SET HOST command may be used to cross-connect the PC console
terminal with some serial line; however, if the program to which
the console is cross-connected sends ANSI control sequences they
will not be interpreted by the console while cross connected. You
may use Kermit in connect mode if you need to cross connect the
console to a serial line and interpret ANSI control sequences.
The normal sequence of operations to cross-connect your terminal
with a communication line is as follows:
1. Use the ALLOCATE command to allocate the communication line for
your exclusive use. This also allows your to perform temporary
parameter settings on the line which will be cancelled when you
deallocate the line.
2. Use the SET TERMINAL command to set line parameters such as
baud rate for the communication line.
Chapter 14. TSX Command Summary 140
3. Use the SET HOST command to cross-connect your time-sharing
line with the communication line.
4. Type control-backslash followed by carriage-return to break the
cross-connection and reconnect your terminal with the command
interpreter.
5. After the cross-connection is broken, use the DEALLOCATE
command to release the communication line. If the parameters
set by the SET TERMINAL command were temporary, they will be
restored to their permanent values.
14.79 SET LOGOFF
SET LOGOFF specifies a command file to execute when job logs off.
Syntax:
SET LOGOFF/FILE=filespec
Qualifiers:
/FILE=filespec Specify the name of the command file.
14.80 SET LOG
SET LOG controls logging of terminal I/O. When terminal logging is
turned on, all output sent to the terminal by use of system
services (not direct video memory writes) is written to the
specified log file.
Syntax:
SET LOG/qualifiers
Qualifiers:
/ALL (Default) Log both terminal input and output.
/CLOSE Close log file and terminate logging..
/FILE=filespec Write output to specified file.
/[NO]LOGIN (Default) Log terminal or command file input.
/[NO]LOGOUT (Default) Log terminal output.
/OFF Same as /CLOSE
/[NO]SUSPEND Suspend logging until a SET LOG/RESUME command is
issued.
Chapter 14. TSX Command Summary 141
/RESET Discard data in the current log file, but do not close
the file.
/RESUME Resume logging after a SET LOG/SUSPEND command.
The SET LOG command controls terminal logging. To begin terminal
logging, use the /FILE=filespec qualifier. If a log file is
already open, the current log file is closed before the new one is
opened. The default extension for the log file name is ".LOG". To
close the current log file without opening a new log file, use the
/CLOSE qualifier. The log file is automatically closed when you
log off.
Normally, both terminal input and output are copied to the log
file. However, you can use the /NOLOGIN and /NOLOGOUT qualifiers
to prevent either terminal input or output from being logged.
14.81 SET MESSAGE
SET MESSAGE controls the format of TSX status and error messages.
Syntax:
SET MESSAGE/qualifiers
Qualifiers:
/ALL Print all parts of message.
/[NO]FACILITY Print the facility name.
/FULL Same as /ALL.
/[NO]IDENTIFICATION Print identifying mnemonic name.
/[NO]SEVERITY Print error severity indicator letter.
/[NO]TEXT Print text of message.
14.82 SET NEWSTATISTICS
SET NEWSTATISTICS resets system statistics information which is
reported by commands such as SHOW USE, SHOW CACHE, SHOW PAGING,
etc.
Syntax:
SET NEWSTATISTICS
Chapter 14. TSX Command Summary 142
14.83 SET PRINTWINDOW
The SET PRINTWINDOW command is used to specify the name of the
printer and other parameters related to the print window facility.
The print window facility allows you to print a copy of your
current screen image by pressing the "Print Screen" key on the
console or PC-term terminals. On terminals that do not have "Print
Screen" keys, you can print the screen by pressing control-B or
another control character specified by the "PWCH" system generation
parameter.
Syntax:
SET PRINTWINDOW/qualifiers
Qualifiers:
/[NO]BEGINFF Print form feed at beginning of print.
/[NO]BELL Ring terminal bell when screen image is stored.
/DEVICE=name Print to this device.
/ENDFF Print a form feed at end of print.
/OFF Turn off print window facility for your job.
/ON (Default) turn on the print window facility for your job.
The SET PRINTWINDOW command is used to specify the device to which
print window output is to be written, and to specify other
parameters related to the print window facility. For example, the
command
SET PRINTWINDOW/DEVICE=PRINT:
directs print window output to the standard spooled print queue
named "PRINT:". If you specify a device without a file name, the
system generates a file name of the form "WINnnnnn.LST" where
"nnnnn" is the id number of your job.
You must set the system generation parameter DOWINPRNT to 1 in
order to enable the TSX window printing facility. This is normally
done when you select an option during the TSX-Lite installation.
When you type Print Screen (or some other character specified by
the "PWCH" sysgen parameter), the system signals the WINPRT program
(running as a detached job) which takes a "snapshot" of your
current screen image. If you specify the /BELL qualifier on the
SET PRINTWINDOW command, WINPRT will ring your terminal bell after
it has taken the shapshot. WINPRT then queues the snapshot for
printing and prints if after all other previously queued print
window requests have been serviced.
Chapter 14. TSX Command Summary 143
14.84 SET PROCESS
SET PROCESS alters job characteristics.
Syntax:
SET PROCESS/qualifiers
Qualifiers:
/AUTHORIZED Command applies to authorized privileges.
/[NO]BELL (Default)Enable terminal bell.
/[NO]CMDTRACE Trace search for an executable file.
/[NO]DBSS Turn on system service trace facility.
/[NO]DBV86 Turn on system service trace facility for 16-bit
programs.
/[NO]DPMI Turn on or off DPMI support.
/EMS=value Enable specified amount of EMS memory for DOS
programs.
/IDENTIFICATION=id Specify which job this SET PROCESS command
applies to.
/MAXMEMORY=value Specify max number of k-bytes of virtual memory
for job.
/MAXPRIORITY=value Specify maximum job priority.
/MAXTTCHK=n Allow DOS programs to check for terminal input n
times before suspending.
/MAXTTIOCHK=n Allow DOS programs to check for terminal n times
after an I/O operation before suspending.
/[NO]MONITOR Allow others to monitor this job with SPY or TUTOR
commands.
/NAME=string Set process name.
/PRIORITY=value Specify execution priority.
/PRIVILEGES=privlist Specify a list of privileges.
/RESUME Resume the execution of a suspended job.
/[NO]SCCA Suppress control-C aborts
/SMANAGER=n Specify the invocation level for the session
manager.
Chapter 14. TSX Command Summary 144
/SUSPEND Suspend the execution of a job.
/[NO]TTFWBELL Ring terminal when suspending a DOS program for
too many terminal input checks.
/TTHANGTIME=n Specify 1/100's of a second to suspend DOS program
after excessive terminal input checks.
/USERNAME=name Set the user name for the process.
14.85 SET
SET symbol defines a symbol to be placed in the environment block
for DOS programs.
Syntax:
SET[/qualifiers] symbol=string
Qualifiers:
/SYMBOL SET command is a symbol definition, not a TSX SET
command.
14.86 SET SYSTEM
SET SYSTEM alters system-wide parameters.
Syntax:
SET SYSTEM/qualifiers
Qualifiers:
/[NO]ACCOUNTING Enables accounting log file.
/[NO]CACHEWRITETHROUGH Same as /[NO]IOFLUSH.
/[NO]IOFLUSH Write data directly to disk, not to the cache.
/[NO]LOGON Enables new jobs to log onto the system
/QUAN1=value Execution time slice for interactive state.
/QUAN1A=value Execution time slice for high priority wait
reactivation.
/QUAN1B=value Execution time slice switching between interactive
jobs.
Chapter 14. TSX Command Summary 145
/QUAN1C=value Execution time at highest interactive state.
/QUAN2=value Execution time slice for cpu-bound jobs.
14.87 SET TERMINAL
SET TERMINAL sets attributes and options for a terminal line.
Syntax:
SET TERMINAL/qualifiers
SET ttname/qualifiers
Qualifiers: (cl indicates communication line, ts indicates
time-sharing line)
/7BIT (cl,ts) Same as /NOEIGHTBIT.
/8BIT (cl,ts) Same as /EIGHTBIT.
/ADDLF (cl) Add a line feed to each carriage return.
/ANYXON (ts) Any character will resume output after Ctrl-S is
pressed.
/[NO]AUTOBAUD (ts) Allow automatic baud selection during login.
/BACKGROUND=color (ts) Specify the default background color.
/[NO]BACKRUB (ts) Convert backspace characters to rubout.
/[NO]BININ (cl) Pass all characters directly to the reading
program.
/[NO]BINOUT (cl) 8-bit characters are to be sent to the line
without modification.
/[NO]BINUART (cl, default) Pass all characters when line is
being used as a virtual UART COM port.
/BITS=n(cl,ts) Specify data bits to be used by the hardware line
controller.
/[NO]BOARDHS (cl,ts,default) Allow serial hardware to perform
flow control.
/[NO]CR (cl, default) Okay to transmit carriage-return
characters.
/[NO]CTL (cl,default) Okay to transmit control characters to the
communication line.
Chapter 14. TSX Command Summary 146
/[NO]DEAD (cl,ts) Do not use this line.
/DEVICE_TYPE=name (ts) Same as /TERMTYPE.
/[NO]DTR Raises the Data Terminal Ready (DTR) signal on the
specified line.
/[NO]ECHO (ts,sp,default) Echo received characters to the
terminal.
/[NO]EIGHTBIT (cl,ts) Pass all 8 bits of each character.
/ENDFF=n (cl) Write n form-feed characters to the end of an
output file when I/O channel is closed.
/FOREGROUND=color (ts) Set foreground color.
/[NO]FORM (cl,ts) Okay to send form-feed characters.
/[NO]FORM0 (cl) Send a form-feed character to the line before
the first write.
/[NO]GAG (ts,sp) Don't display messages from other jobs.
/HANDSHAKING=type (ts,cl) Use specified handshaking method:
XONXON
XONCTS
XONDSR
RTSXON
RTSCTS
RTSDSR
DTRXON
DTRCTS
DTRDSR
/IXLATE=(received=converted,received=converted,...) (ts,cl)
Define a translation table for received characters.
/[NO]LC (ts,sp,default) Okay to send lower-case characters.
/LENGTH=n (cl) Specify the number of lines per page.
/[NO]LFIN (cl,ts,default) Pass line feed characters to the
program.
/[NO]LFOUT (cl,default) Pass transmitted line-feed characters to
the
/[NO]LOGON (cl,ts,default) Allow logon.
/OXLATE=(sent=converted,sent=converted,...)(ts,cl) Define a
translation table for transmitted characters.
Chapter 14. TSX Command Summary 147
/[NO]PAGE (cl,ts,default) Control-S and control-Q perform flow
control functions.
/[NO]PARITY=type (cl,ts) Use specified parity control:EVEN, ODD,
or NONE.
/[NO]PCDIM (ts) Make dim characters the default on PC-Term
terminals.
/PERMANENT (cl,ts) Make changes permanent.
/[NO]PHONE (ts) Perform modem control.
/[NO]PRINTER (ts,cl) There is a printer attached to this
terminal.
/RESET (ts,cl) Reset line to original condition.
/[NO]RTS (ts,cl) Raises the Request To Send (RTS) signal.
/[NO]SCOPE (ts) Terminal is a CRT.
/[NO]SEVENBIT (cl,ts,default) same as /NOEIGHTBIT.
/SKIP=n (cl) Send form-feed when n lines remain on the page.
/SPEED=value (cl,ts) Set speed to one of the following: 100,
150, 300, 600, 1200, 2400, 4800, 9600, or 19200.
/[NO]START (ts) Start a job on the line.
/[NO]SYSPASSWORD (ts) Require system password before starting
job.
/[NO]TAB (cl,ts) Okay to send tab characters.
/TERMTYPE=name (ts) Specify the type of terminal. Name must be
one of:
ANSI
PCTERM
TSXTERM
VT100
VT220
VT320
VT420
RELISYS
/[NO]TPFFCLOSE (ts) Send a form feed to terminal printer on file
close.
/[NO]TPFFOPEN (ts) Send a form feed to terminal printer on file
open.
Chapter 14. TSX Command Summary 148
/TPCPS=n (ts) Send data to terminal printer at n characters per
second.
/[NO]UPCASE (cl) Convert lower case characters to upper case.
/WIDTH=n (cl) Specify the maximum line width.
/NOXLATE Turns off any character translation for the line.
/XON (cl,ts) Resets line in hold (XOFF) condition.
See also the description of the TMAN command on page 160.
14.88 SET TIME
SET TIME sets the system time. It is equivalent to the TIME
command.
Syntax:
SET TIME time
TIME time
Examples:
SET TIME 10:30
TIME 15:24:05
14.89 SET VERIFY
SET VERIFY controls echo of command files to terminal.
Syntax:
SET [NO]VERIFY
14.90 SET VIDEO
SET VIDEO changes the default video mode of the console and TSXTERM
terminals.
Syntax:
SET VIDEO/qualifiers
Qualifiers:
/MODE=value Specify the new mode. Valid values: VGA: 0,1,2,3
and 7; EGA: 0,1,2 and 3; MDA: 7 only.
Chapter 14. TSX Command Summary 149
14.91 SET WINDOW
SET WINDOW controls process windowing.
Syntax:
SET WINDOW/qualifiers
Qualifiers:
/DARK Display light characters on dark background.
/LIGHT Display dark characters on light background.
/LINES=n Specify the number of lines on the screen.
/NARROW Display 80 columns.
/NOSCROLL Disallow scrolling while window is in background.
/SCROLL=n Allow n lines to scroll while window is in background.
/WIDE Display 132 columns.
14.92 SET WORKING_SET
SET WORKING_SET sets physical memory space available for current
job.
Syntax:
SET WORKING_SET/qualifiers
Qualifiers:
/[NO]ADJUST (Default) Enables automatic working set size
adjustment
/EXTENT=value Same as /MAXIMUM.
/MAXIMUM=value Specify maximum K-bytes of memory for the job.
/MINIMUM=value Specify minimum K-bytes of memory for the job.
The "working set" for your process is the set of memory pages which
is currently resident in physical memory and directly accessible by
your programs. (A "page" of memory consists of 4,096 bytes). Your
virtual memory space may be larger than your working set. Memory
pages that are part of your virtual memory space but not in your
working set may be located either in physical memory or in the
system page file. An attempt to access a memory page which is not
in your working set causes a "page fault". Despite its name, a
page fault is not an error but rather denotes the process that TSX
Chapter 14. TSX Command Summary 150
performs to add a memory page to your working set. If the maximum
allowed number of pages are in your working set when a page fault
occurs, the oldest entry in the working set is removed to make room
for the entry being added.
Normally, TSX performs automatic working set size adjustment based
on the page fault rate. If the number of page faults per second
exceeds the value of the "WSDAUPRATE" sysgen parameter the working
set size is expanded by the size of the "WSDAUPAMT" sysgen
parameter. If the page fault rate is less than the "WSDADOWNRATE"
sysgen parameter then the working set size is reduced by the value
of the "WSDADOWNAMT" sysgen parameter. You can disable the
automatic working set adjustment process by specifying the
/NOADJUST qualifier with the SET WORKING_SET command. If this is
done, the working set size is held at the maximum value. Use the
/ADJUST qualifier to reenable automatic working set size
adjustment.
The /MAXIMUM and /MINIMUM qualifiers allow you to specify the
maximum and minimum number of K-bytes of space that may be used by
the working set. If automatic working set size adjustment is
enabled, the working set size will vary within these limits based
on the page fault rate.
The SET PROCESS/MAXMEM=size command is used to control the maximum
amount of virtual memory space available to the job. The SHOW
MEMORY command displays information about memory space. The SHOW
PAGING command displays page fault statistics. You may type
control-T at any time to display your current working set size.
14.93 SHOW ALL
SHOW ALL displays a variety of system information.
Syntax:
SHOW ALL
14.94 SHOW ASSIGNS
SHOW ASSIGNS displays information about logical device name
assignments.
Syntax:
SHOW ASSIGNS[/qualifiers] [logical_name]
Qualifiers:
/GLOBAL Display only assignments in the process global assign
table.
Chapter 14. TSX Command Summary 151
/LOCAL Display only assignments in the process local assign
table.
/SYSTEM Display only assignments in the system global assign
table.
14.95 SHOW AUTHORS
SHOW AUTHORS displays the names of the three developers of TSX-Lite
and TSX-32. The names appear in random order.
14.96 SHOW CACHE
SHOW CACHE displays statistics about data caching.
Syntax:
SHOW CACHE
14.97 SHOW COLORS
SHOW COLORS displays a table of available colors.
Syntax:
SHOW COLORS
14.98 SHOW DATE
SHOW DATE displays the current date. Equivalents: DATE
Syntax:
SHOW DATE
14.99 SHOW DEVICES
SHOW DEVICES displays information about devices installed on the
system.
Syntax:
SHOW DEVICES
Chapter 14. TSX Command Summary 152
14.100 SHOW ERRORS
SHOW ERRORS displays error statistics
Syntax:
SHOW ERRORS
See Section 10.6 on page 68 for additional information about event
and error logs.
14.101 SHOW EVENTS
The SHOW EVENTS command is used to display information in event log
files. It is also used to enable and disable event logs.
Syntax:
SHOW EVENTS
The first screen displayed by the SHOW EVENTS command lists each
active event log and shows the number of records in the event log
file. To display the records in an event log file, use the arrow
keys to select an event log entry and then press Enter. Press 'R'
to reset an event log and delete all files in it.
Press 'C' to display a second screen which lists all available
event log files. From this screen you can highlight an event log
entry and press 'E' to enable the event log or 'D' to disable the
event log.
Press ESC to exit.
See Section 10.6 on page 68 for additional information about event
logs.
14.102 SHOW FILES
SHOW FILES displays information about open files.
Syntax:
SHOW FILES[/qualifiers] [filename]
If a file name is specified, information is printed for that file
only. If no file name is specified, information is printed about
all currently open files. This information shows which users have
the file open and indicates whether they have it open for read or
write access.
Chapter 14. TSX Command Summary 153
Qualifiers:
/ID=jobid Show files only for specified job id.
14.103 SHOW FSTATUS
SHOW FSTATUS displays information about file usage.
Syntax:
SHOW FSTATUS
14.104 SHOW JOBS
SHOW JOBS is equivalent to SHOW SYSTEM, described on page 155. See
also the description of the JMAN command on page 117.
14.105 SHOW KEYS
SHOW KEYS displays a list of your user-defined keys.
Syntax:
SHOW KEYS
14.106 SHOW MEMORY
SHOW MEMORY displays information about available memory space.
Syntax:
SHOW MEMORY
14.107 SHOW NAME
SHOW NAME displays the user name and other information about the
current job. This is equivalent to the SHOW UIC command.
14.108 SHOW PAGING
SHOW PAGING displays statistics about memory paging operations.
Chapter 14. TSX Command Summary 154
Syntax:
SHOW PAGING
14.109 SHOW PRIVILEGES
SHOW PRIVILEGES displays your current and authorized privileges.
Syntax:
SHOW PRIVILEGES
14.110 SHOW QUEUE
SHOW QUEUE displays information about jobs in print or batch
queues.
Syntax:
SHOW QUEUE[/qualifiers] [queuename]
Qualifiers:
/BATCH Show information about batch jobs only.
/FILES Show information on each file in print queues.
/FULL Show all information about queues.
/OWNER[=username] Show information on jobs submitted by
specified user.
/PRINT Show information about print jobs only.
14.111 SHOW SYMBOLS
SHOW SYMBOLS displays information about symbol names.
Syntax:
SHOW SYMBOLS[/qualifiers] [symbol_name]
Qualifiers:
/ALL (Default) Show symbols from all symbol tables.
/GLOBAL Show symbols from global symbol table only.
Chapter 14. TSX Command Summary 155
/LOCAL Show symbols from local symbol table only.
/SYSTEM Show symbols from system symbol table only
14.112 SHOW SYSTEM
SHOW SYSTEM displays information about each process. Equivalent:
SHOW JOBS, SYSTAT, WHO. See also the description of the JMAN
command on page 117.
Syntax:
SHOW SYSTEM[/qualifiers]
SHOW JOBS[/qualifiers]
SYSTAT[/qualifiers]
Qualifiers:
/BATCH Show only batch jobs.
/DETACHED Show only detached jobs.
/INTERACTIVE Show only interactive jobs.
14.113 SHOW TERMINALS
SHOW TERMINALS displays summary or detail information about serial
lines.
Syntax:
SHOW TERMINALS -- Display summary information for all lines.
SHOW ttcuu: -- Display details for line ttcuu.
See also the description of the TMAN command on page 160.
14.114 SHOW TIME
SHOW TIME displays the current time of day. Equivalent: TIME
Syntax:
SHOW TIME
TIME
Chapter 14. TSX Command Summary 156
14.115 SHOW UIC
SHOW UIC is equivalent to SHOW NAME. See SHOW NAME for
information.
14.116 SHOW USE
SHOW USE displays statistics about the utilization of the computer
system.
Syntax:
SHOW USE
14.117 SHOW USERS
SHOW USERS displays information about each logged on user.
Syntax:
SHOW USERS
14.118 SHOW VERSION
SHOW VERSION displays the current TSX version number. Equivalents:
VERSION
Syntax:
SHOW VERSION
14.119 SHUTDOWN
The SHUTDOWN command procedure does an orderly shutdown of all
jobs. Once it finishes you can type BOOT or press the reset button
to reset your computer.
14.120 SORT
The SORT command sorts one or more input files and produces either
a new sorted output file or writes the sorted records back into the
original input file. Multiple keys may be specified and a logical
expression may be used to select which records are to be included
in the sort. TSX SORT is very fast and is capable of sorting
enormous files (hundreds of megabytes).
Chapter 14. TSX Command Summary 157
The TSX SORT program is provided with the optional TSX-Lite
Utilities Kit (see REGISTER.DOC).
Syntax:
SORT[/qualifiers] input_file1,input_file2,... [output_file]
Qualifiers:
/ITYPE=type Specify the type of the input file. Type must be
one of:
CRLF -- Variable length terminated by CR/LF (default).
FIXED -- Fixed length records.
/KEY=(key1,key2,...) Specify one or more sort key fields (see
below).
/MEMORY=size Specify the maximum number of K-bytes of memory to
be used.
/NOBLANK Discard blank records.
/OTYPE=type Specify type of records in the output file.
/QUIET Don't display statistics.
/RECLEN=length Specify the record length for fixed length
records.
/SELECT=expression Include only records satisfying logical
expression.
/SKIP=value Skip this many records at the beginning of input
file.
/STATISTICS Print detailed statistics.
/UNIQUE Discard duplicate records.
/WORKFILE=file Use specified work file.
Each key specification has the form "tas.l" where 't' is the type
of the key (see below), 'a' is 'A' for ascending or 'D' for
descending, 's' is the starting column number of the field (the
first column of the record is 1), and 'l' is the length of the key
field. If 0 is specified for the length, the field extends from
the starting column to the end of the record.
The first letter of the key specification denotes the type of the
key field. The table below lists each of the available key types.
Chapter 14. TSX Command Summary 158
A ASCII collating sequence
C ASCII sequence ignoring case differences
D DBL signed value
N Numeric value string
S Signed binary
U Unsigned binary
14.121 SPY
SPY monitors data on a serial line. See also the description of
the TUTOR command (page 65). Press any key to terminate the spy
operation.
Syntax:
SPY[/qualifiers] terminal_name
Qualifiers:
/ALLHEX Show all characters in hexadecimal format.
/BINARY Display flow control characters.
/CRLF Add a carriage-return line-feed sequence to the end of
output records.
/DISPLAY=file Display characters using an EDIT-32 "display
file".
/FILE=name Write output to specified file.
/FREQUENCY=n Specify sampling frequency of n/100 seconds.
(default: 20).
/HEX Show non-printing characters in hexadecimal format.
/INBUF=size Allocate size bytes of memory for an input buffer
(default: 512).
/INPUT Show input data.
/MARK Print labels for incoming and output data.
/MODEM Display changes in modem control signals.
/OUTBUF=size Allocate size bytes of memory for an output buffer
(default: 512).
/OUTPUT (Default) Show output data.
/SCREEN Enable enhanced screen mode.
Chapter 14. TSX Command Summary 159
/NOSCREEN Do not display data on terminal.
/WIDTH=cols Specify the width of terminal output.
See Section 2.6.5 on page 19 for additional information about the
SPY command.
14.122 STOP
STOP stops (logs off) a specified process.
Syntax:
STOP/qualifiers
Qualifiers:
/ID=job_id Stop the specified job.
/PROGRAM=name Stop all processes running specified program.
/USER=name Stop all processes for specified user.
/WINDOW=n Stop the process running in the specified virtual
process window.
14.123 SUBPROCESS
The SUBPROCESS keyboard command allows you to switch between
subprocesses in the same way that the control-W-digit sequence
does. However, the SUBPROCESS command can be placed in a command
file, whereas control-W cannot.
Syntax:
SUBPROCESS[/qualifiers] process_number
Qualifiers:
/CMDFILE=file Specify a command file to run in the specified
subprocess.
/COMMAND Specify that /CMDFILE qualifier is a system command.
/NOINHERIT Don't inherit information from primary process..
/NOSWITCH Create specified subprocess, but do not switch to it.
The SUBPROCESS command allows you to select a subprocess similarly
to typing control-W-digit. The command accepts one argument, a
digit 0 to 9 which indicates the desired subprocess to switch to.
Chapter 14. TSX Command Summary 160
Here is an example command which will create subprocess 1 and
switch terminal control to it:
SUBPROCESS 1
As a result of this command, the new sub-process will start just as
if ctrl-W-1 were typed to select session 1.
The following command initiates subprocess 1 and executes the
command file SY:RAMSTART.CMD but does not switch terminal control
to the subprocess. Later, if you type Ctrl-W-1, you may switch to
the running program initiated by SY:RAMSTART.CMD,
SUBPROCESS/NOSWITCH/CMDFILE=SY:RAMSTART.CMD 1
14.124 SYSMON
SYSMON displays dynamic information about system activities.
Syntax:
SYSMON
14.125 SYSTAT
SYSTAT -- See SHOW SYSTEM (page 155).
14.126 TIME
TIME See SHOW TIME
14.127 TMAN
TMAN is a full screen terminal management utility. Use TMAN to
display information about your terminal lines and perform common
system management functions.
Syntax:
TMAN
In response to the TMAN command, TSX displays a list of the
terminal lines. A menu of action keys appears to the right of the
terminal list; choose an action by typing the appropriate key.
Chapter 14. TSX Command Summary 161
14.128 TSAUTH
TSAUTH invokes the TSX user authorization utility. The account
authorization facilities are supplied with the optional TSX-Lite
Security Kit (see REGISTER.DOC).
14.129 TUTOR
TUTOR allows one user to "tutor" another's line so that each user
sees the same output and either user can type input. Type
control-backslash followed by Enter to release the tutor
connection.
Syntax:
TUTOR terminal
See Section 10.2.6 on page 65 for additional information about the
TUTOR command.
14.130 TYPE
TYPE prints one or more files at your terminal.
Syntax:
TYPE[/qualifiers] filespec
Qualifiers:
/BEFORE[=date-time] Select files created before specified date
and time.
/[NO]CONFIRM Request confirmation before typing each file.
/DATE[=date] Select files created on the given date.
/[NO]DELETE Delete file after typing it.
/END=n Stop output after specified line number.
/EXCLUDE=(files) Exclude specified files from being typed.
/[NO]HEADER Write a header line for each file typed at the
terminal.
/[NO]LOG Type file name before typing file.
/MAXIMUM=n Specify the maximum number of lines to be typed from
a file.
Chapter 14. TSX Command Summary 162
/NEWFILE Type only files created today.
/[NO]PAGE Divide output into pages.
/[NO]QUERY Same as /[NO]CONFIRM.
/SINCE[=date-time] Select files created since specified date and
time.
/START=n Start typing at line n.
14.131 TSGEN
TSGEN allows you to examine or modify system customization and
tuning parameters.
Syntax:
TSGEN [genfile] [kernel]
Examples:
TSGEN
TSGEN TSX32
TSGEN TSX32.GEN C:\TSX32.SYS
See Sections 2.4 and 12.4 for additional information about using
TSGEN.
14.132 UNPROTECT
UNPROTECT turns off file protection for one or more specified
files.
Syntax:
UNPROTECT[/qualifiers] filespec
Qualifiers:
/BEFORE[=date-time] Select files created before specified date
and time.
/[NO]CONFIRM Request confirmation before acting on each file.
/DATE[=date] Select files created on the specified date.
/EXCLUDE=(files) Do not select specified files.
/[NO]LOG Type the file name before acting on each file.
Chapter 14. TSX Command Summary 163
/NEW Act only on files created today.
/[NO]QUERY Same as /[NO]CONFIRM.
/SINCE[=date-time] Select files created since specified date and
time.
14.133 VERSION
VERSION -- See SHOW VERSION
14.134 WAIT
WAIT pauses command file execution for a specified length of time.
Syntax:
WAIT time
Examples:
WAIT 1.5
WAIT 1:05
WAIT 2:30:00
The WAIT time value is in units of seconds, but you can also
specify a value using the format "hh:mm:ss.ddd".
14.135 WHO
WHO -- See SHOW SYSTEM and JMAN.
14.136 WIN
The WIN command starts the execution of Microsoft Windows as a task
under TSX. Windows must run in standard (not enhanced) mode under
TSX.
Syntax:
WIN
Once Windows is in operation you can run programs such as Page
Maker in the Windows environment under TSX. You may only issue the
WIN command while running from the console.
Chapter 14. TSX Command Summary 164
Before issuing the WIN command you should assign the logical device
name COM1 to the serial port to which your mouse is connected. For
example, if the mouse is connected to the actual COM1 port on the
computer, which has the TSX device name TTB0:, then the following
ASSIGN statement would be used:
ASSIGN TTB0: COM1
Any serial port may be used for the mouse connection as long as the
appropriate ASSIGN command is issued. If you wish to place an
ASSIGN command in the SY:LSTARTUP.CMD system-wide start-up command
file, you must use the /SYSTEM qualifier to make the assignment on
a system-wide basis. The following line is an example of this:
ASSIGN/SYSTEM TTB0: COM1
Once the assignment of COM1 has been verified, TSX looks for the
Windows files in each directory that is part of the PATH
specification. Therefore, your PATH specification must include the
directory with the Windows files (typically C:\WINDOWS).
TSX currently supports only the Paradise 512 and Tseng 4000 video
controllers in super VGA modes, so if you have some other type of
card you will have to use it in standard VGA mode.
Windows should be configured to access disk files using standard
DOS I/O operations rather than attempting any type of enhanced,
direct I/O.
14.137 WSCMD
WSCMD Used to perform a file transfer operation between TSX system
and a workstation running TSXTERM. See Chapter 11 for additional
information about TSXTERM.
Syntax:
WSCMD TOWS file1 file2
WSCMD TOHOST file1 file2
WSCMD CD \directory
WSCMD BYE
Qualifiers:
/NOWAIT Start transfer but do not wait for it to complete.
The TOWS command transfers a file from the TSX host computer to the
workstation running TSXTERM. FROMHOST and DOWNLOAD are synonymous
keywords for TOWS.
The TOHOST command transfers a file from the TSXTERM workstation to
the host computer. FROMWS and UPLOAD are synonymous keywords for
TOHOST.
Chapter 14. TSX Command Summary 165
The CD command changes the default directory on the workstation.
The BYE command causes TSXTERM to wait 5 seconds, then exit to DOS.
Note that a command procedure can log out during the pause.
For example, the following commands change the default directory on
the workstation to \WORK and then transfer a file named TROY.DAT
from current directory on the host TSX computer to the workstation:
WSCMD CD \WORK
WSCMD TOWS TROY.DAT
If you wish to assign a different name to the output than the input
file, specify the new file name as the second parameter to the
command. You may also provide a full file specification, including
device letter and directory names. For example, the following
command transfers a file named CRUSHER.DAT from the \MEDICAL
directory on the 'A' disk of the workstation to a file named
ILLNESS.DAT on the host computer:
WSCMD TOHOST A:\MEDICAL\CRUSHER.DAT ILLNESS.DAT
The /NOWAIT qualifier can be specified to cause the command to
start a transfer but not wait for it to complete. A WSCMD without
any arguments can be used to wait for a previously started command
to finish. For example, the following commands initiate a transfer
of the file FARM1.DAT from the host to the workstation, and then,
while the transfer is taking place, perform a sort, then wait for
the transfer to complete:
WSCMD/NOWAIT TOWS FARM1.DAT
SORT BIGFILE.DAT
WSCMD
Chapter 15
Use and Distribution of TSX-Lite
15.1 Redistribution of TSX-Lite
TSX-Lite is a shareware product. You are welcome to make copies of
the TSX-Lite distribution and pass them on to friends or post this
program on bulletin boards or distribute it via disk catalog
services provided the entire TSX-Lite distribution is included in
its original, unmodified form and no files are added, deleted, or
modified. A distribution fee may be charged for the cost of the
diskette, shipping and handling. However, TSX-Lite may not be
sold, or incorporated in another product that is sold, without the
permission of S&H Computer Systems, Inc. Vendors are encouraged to
contact S&H to get the most recent version of TSX-Lite.
15.2 Registering TSX-Lite
Shareware is a type of software distribution that gives you a
chance to try a software product before you decide if you want to
pay for it. A shareware product, such as TSX-Lite, is a
copyrighted program; it is NOT public domain or "freeware". Its
use is governed by the terms of the shareware license and it is
protected by the copyright laws of the United States and
international agreements.
As a shareware product, you are granted a no-cost, trial period of
30 days during which you may evaluate TSX-Lite. If you find
TSX-Lite to be useful, educational, and/or entertaining, and
continue to use it beyond the 30 day trial period, you are required
to register your use by sending the registration form in the
REGISTER.DOC file along with the appropriate registration fee.
15.3 Telephone Support
Both registered and unregistered users of TSX-Lite are welcome to
call for technical assistance. The fee for this service is $1.50
per minute which may be charged to a Visa, MasterCard, or American
Express credit card. There is a $10.00 minimum charge for each
call. The S&H support number is 615-327-3670.
166
Chapter 15. Use and Distribution of TSX-Lite 167
15.4 Copyright notice
The TSX-Lite and TSX-32 systems and documentation are copyright (c)
1990-1993 by S&H Computer Systems Inc. These products may only be
used in accordance with the terms of the written license.
TSX-Lite, TSX-32, TSX-Plus, TSX, MessageNet, TSXTERM, Edit-32,
TSX-Net, and Adaptive Scheduling Algorithm are trademarks of S&H
Computer Systems, Inc.
Note that TSX-Lite is a shareware product and may be distributed as
described in Section 15.1; however, TSX-32 is NOT a shareware
product and it may only be distributed by licensed distributors.
15.5 Disclaimer
TSX-Lite is provided "as is" without warranty of any kind, either
expressed or implied. TSX may contain "bugs" which interfere with
its operation and not all programs will run correctly with it. S&H
Computer Systems assumes no responsibility for the use of TSX-Lite
and will not be responsible for any damage resulting from its use.
Chapter 16
The Full TSX-32 System
If you like TSX-Lite but need to support more than two users, or
need networking, real-time, or 32-bit development tools, it is time
to step up to a full TSX-32 system. The following list summarizes
features that either come with, or are available as options for
TSX-32.
16.1 Support for Large Systems
Whereas TSX-Lite is limited to supporting two users, the full
TSX-32 system is available with or without limits on the number of
interactive users. Most TSX installations run 8, 16, or 32
terminal lines, with some systems supporting over 100 users.
TSX-32 supports "smart" serial cards and multi-console devices from
several vendors.
16.2 Networking
TSX-32 networking is a full featured, TCP/IP based, peer-to-peer
network. Programs can transparently access files across the
network including full file sharing and record locking. Remote
login allows you to work on other network nodes as easily as if
your workstation were directly connected to them. Other features
include remote program execution, printer sharing, and an interface
to Internet and systems such as VAX/VMS, Unix, and Novell, through
FTP, Telnet, and NFS.
16.3 Real-time Support
S&H is famous for combining critical real-time facilities with
timesharing services on the same computer. TSX-32 is the choice
for factory automation, instrumentation, and other real-time
applications.
16.4 Disk Shadowing
The disk shadowing option for TSX-32 causes changes made to
selected files on one disk to be "shadowed" (or "mirrored") to
another disk on either the same machine or another machine
connected through the network. This makes it easy to set up
168
Chapter 16. The Full TSX-32 System 169
fault-tolerant systems that can quickly recover without losing data
even if one disk or computer goes down.
16.5 Tape Support
SCSI tape support allows the TSX BACKUP and RESTORE programs to
manage large data loads with ease.
16.6 X-Windows
X Windows is a network-based Graphical User Interface that is
widely used on larger computer systems.
16.7 MessageNet
MessageNet is the electronic mail system for TSX. The basic
MessageNet system, which is provided when you register TSX-Lite and
is a standard part of TSX-32, allows users to send electronic mail
to each other. It features address books, mailing lists, and "file
folders" for storing mail. The optional Advanced MessageNet
product extends MessageNet to allow messages to be sent between
computers running TSX. These transfers can take place on a demand
basis or at scheduled times to take advantage of lower phone rates.
Advanced MessageNet also provides a bridge to global e-mail systems
such as EasyLink and MCI Mail.
16.8 Single-user Option
For those situations where TSX-32 may be used in a networking or
real-time environment, a low-cost, single-user version of TSX-32 is
available. This version supports real-time, networking, disk
shadowing, and all of the features of the full product but limits
access to one user at a time. This is especially attractive for
factory automation and instrumentation applications.
Chapter 16. The Full TSX-32 System 170
S&H Computer Systems wants to be your operating system business
partner. We regularly enhance our product to suit customer needs,
assist customers in using the TSX environment as an application or
development platform, and employ a vast array of built-in
diagnostic tools to help solve problems. You have now had a taste
of our product. What we can't convey with this demonstration
version is that the staff at S&H is helpful, knowledgeable, and
available. Please call us and experience the S&H difference today!
S&H Computer Systems, Inc.
1027 17th Avenue, South
Nashville, TN 37212-2299 USA
Phone: 615-327-3670
Fax: 615-321-5929
CompuServe: 71333,27
Internet: 71333.27@compuserve.com
Index 171
16550 UART adapters, 13, 83 26
Adaptive scheduling, 3 Control characters, 24
ALLOCATE command, 86 COPY command, 95
ALT-digit session selection, Copyright notice, 167
9 COUNT command, 97
ANSI terminals, 15, 23, 62 CSHSIZE sysgen parameter, 77
Answer enable, 17 Ctrl-W-digit, 9
ASSIGN command, 86 Data cache, 4
system wide symbols, 76 showing statistics, 151
ASSIGNMENT command, 86 size of, 77
Authors of TSX-Lite Data caching, 67
Dan Cappannari, 151 Datascope, 19
John Mott, 151 Date
Phil Sherrod, 151 DATE command, 98
Autobaud setting, 15, 17 displaying, 151
AUX device name, 30 format of, 85
Background batch jobs, 53 setting, 137
BACKUP command, 87 DEALLOCATE command, 98
BATCH command, 53, 63, 91 DEASSIGN command, 98
Batch files, 52 DEC terminals, 16, 23, 62
Baud rate setting, 15 DEFDWRITE parameter, 30
BBS server, 2 DEFINE KEY command, 99
BBS software DELETE command, 99
setting up, 11 DESQView, 2, 9
BIOS, 3 DETACH command, 100
BOOT command, 22, 92, 156 Device names, 39
Bulletin board server, 2 DIFFERENCES command, 102
Bulletin board software Direct write programs, 29
setting up, 11 DIRECTORY command, 104
BYE command, 92 Directory searching, 39
CALCULATE command, 92 Disclaimer, 167
CALENDAR command, 93 Disk shadowing, 168
CALL command, 93 DISPLAY command, 55, 106
Cappannari, Dan, 151 DOQUEUES sysgen parameter, 78
CD command, 94 DOS command, 31, 106
CD ROM support, 21 DOSLPTTIME sysgen parameter,
CGA controllers, 62 34
CHAIN command, 93 DOSNET option, 12
Chat DOSNETFLAG sysgen parameter,
see PHONE command, 65 68
CHDIR command, 94 DOWINPRT sysgen parameter, 78
CHKDSK, 28 DPMI, 36
CLS command, 94 DUMP command, 106
Colors E-mail, 169
setting, 145 E32, 107
showing possible, 151 EasyLink interface, 169
COM port setup, 13 EDIT command, 107
COM3 setup, 20 EDIT-32, 107
Command files, 52 EMM386, 35
COMMAND.COM running, 31, 106 EMS, 35
Commands, 85 EMS enabling, 143
Communication lines, 26 Environment variables, 30
CON device name, 30 Error logs, 68
Console screen saver, 26 Ethernet, 3, 63
CONSSTIME sysgen parameter, EVALUATE command, 107
Index 172
EVENT command, 108 LOGOFF command, 118
Event logs, 68, 152 LOGON program, 19, 75
Execution priority Lost characters, 83
setting, 143 LSTARTUP.CMD file, 74, 76
EXIT command, 108 MACROS command, 118
EXP executable programs, 36 MAIL command, 120
EXPAND command, 108 Mailboxes, 69
Expanded memory, 35 MAKELOAD program, 74
Explicit printing, 47 MAXP0MEM parameter, 35, 78,
Extended memory, 35 84
Factoring commands, 97 MCI Mail interface, 169
File access control, 19, 113 MD command, 120
File protection, 113 Memory
FILEWATCH command, 110 Memory page, 66
Flow control, 16 Memory space limit, 35, 78,
FMAN command, 111 84
Foreign keyboards, 27 displaying size, 153
FORMAT command, 114 paging statistics, 153
FPROTECT program, 19 setting virtual size, 143
French keyboards, 27 MESSAGE command, 120
FTP, 2, 168 MessageNet, 120, 169
German keyboards, 27 MetaWare High C, 36
GOTO command, 54, 115 Microsoft Windows, 163
Handshaking setting, 16 MINIGEN, 10
HANLOAD command, 115 Mirroring disks, 168
HELP command, 115 MKDIR command, 121
High C, 36 MN command, 121
High Sierra CD ROM format, 21 Modem connection, 13, 15, 17
HIMEM.SYS, 35 answer enable, 17
HOLDPRIO option, 11 S0 register, 17
IDLETIME attribute, 33 Modem reset string, 16
IDLETIME parameter, 12 Mott, John, 151
IF command, 55, 115 Mouse support, 21
Implicit printing, 47 MOUSEPORT logical name, 21,
Incremental backup, 90 82
INITIALIZE command, 116 Multi-console adapters, 63
INQUIRE command, 55, 116 Multi-user, 3
INSTALL.CMD file, 29, 74, 123 Names of devices, 39
International keyboards, 27 Native system services, 36
Internet access, 2, 168 NDP Fortran, 36
Introduction, 1 NetBIOS support, 68
Italian keyboards, 27 Networking, 168
JMAN command, 117 NFS, 168
KERMIT command, 117 NODWRITE option, 12
Kernel file, 3 Novell, 2
Keyboard Novell connection, 168
Keyboard mapping, 27 NUL device name, 30
problems, 81 Null modem, 13
KEYLOAD command, 27, 117 Numeric comparison, 56
KILL command, 118 Numeric operators, 56
Lantastic, 2 Numeric symbols, 44
Lexical functions, 57 OFF command, 121
Log files, 53 ON command, 121
Logging of terminal I/O, 140 Operators, 56
Logical operators, 57 logical, 57
Index 173
numeric, 56 RESTORE command, 129
numeric comparison, 56 Ring answer enable, 17
string, 56 RMDIR command, 131
string comparison, 56 RS232 signals, 13
Page fault, 66 RTS/CTS flow control, 16
Page Maker, 163 RUN command, 131
Page of memory, 66 RUNPRIORITY parameter, 54
PAGEFILE.TSX file RUNTSX program
controlling size, 78 problems, 80
Paradise 512 video, 164 S0 modem register, 17
Parity setting, 15 Scheduling algorithm, 3
Password for lines, 15, 18 Screen corruption, 82
PATH command, 122 Screen print, 78
PAUSE command, 123 Screen saver, 26
PC Anywhere, 2 Scroll lock key, 7
PC-Term terminals, 16, 24 SCSI support, 169
PGFILSIZ sysgen parameter, 78 SEARCH command, 132
Phar Lap, 36 Security Kit, 19
PHONE command, 65, 123 SEND command, 64, 135
Phone connection, 15 Session Manager, 7
Phone lines, 17 SET CMDPROC command, 136
PMAN command, 11, 28, 123 SET DATE command, 98, 137
POOLSIZEN sysgen parameter, SET DEFAULT command, 137
78 SET EDIT command, 137
PRIDEF sysgen parameter, 11, SET ENTRY command, 138
54 SET EVENT command, 138
PRINT command, 124 SET HOST command, 138
Printing, 47 SET LOG command, 140
Priority of batch jobs, 54 SET LOGOFF command, 140
Priority of subprocesses, 11 SET MESSAGE command, 141
Privileges SET NEWSTATISTICS command,
displaying, 154 141
PRIVIR sysgen parameter, 11 SET NOVERIFY command, 56
PRN device name, 30 SET PRINTWINDOW command, 142
Process windowing, 7 SET PROCESS command, 143
PROMPT command, 125 SET symbol command, 144
PROTECT command, 126 SET SYSTEM command, 144
PROTECT.CMD file, 75 SET TERMINAL command, 145
Protected mode, 28 SET TIME command, 148
QINIT.CMD file, 83 SET VERIFY command, 56, 148
QMAN command, 126 SET VIDEO command, 148
QUEMAN.LOG file, 83 SET WINDOW command, 149
QUEMAN.SYS file, 83 SET WORKING_SET command, 149
Queue manager, 47 Shadowing disks, 168
problems, 83 Shared memory regions, 69
R command, 127 Sherrod, Phil, 151
RAMDISKSIZ sysgen parameter, SHOW ALL command, 150
79 SHOW ASSIGNS command, 150
RD command, 127 SHOW AUTHORS command, 151
Real-time support, 168 SHOW CACHE command, 151
Rebooting, 22, 92, 156 SHOW COLORS command, 151
RECALL command, 127 SHOW DATE command, 151
Registering TSX-Lite, 166 SHOW DEVICES command, 151
Relisys terminals, 24, 62 SHOW ERRORS command, 68, 152
RENAME command, 128 SHOW EVENTS command, 152
Index 174
SHOW FILES command, 152 Terminal printers, 50
SHOW FSTATUS command, 153 Terminal type setting, 15
SHOW JOBS command, 153 Terminal types, 23
SHOW KEYS command, 153 Terminate and Stay Resident,
SHOW MEMORY command, 153 31
SHOW NAME command, 153 Time
SHOW PAGING command, 153 TIME command, 160
SHOW PRIVILEGES command, 154 Time-sharing, 3
SHOW QUEUE command, 154 format of, 85
SHOW SYMBOLS command, 154 setting, 148
SHOW SYSTEM command, 155 TMAN command, 160
SHUTDOWN procedure, 22, 92, Trademark notice, 167
156 Troubleshooting, 80
SMD.DOC file, 42 TSAUTH program, 19, 76, 161
SORT command, 156 Tseng 4000 video card, 164
Spanish keyboards, 27 Tseng VGA controllers, 62, 82
Speed setting, 15 TSGEN, 9, 162
Spitfire, 9 TSR programs, 31, 83
installing, 11 TSX-32, 168
SPOOL.SYS file, 83 TSX32.SYS file, 3
Spooler, 47 TSXLOAD.CMD file, 74
Spooler problems, 83 TSXTERM, 70
SPOOLER.LOG file, 83 TSXUAF.TSX file, 76
SPY command, 19, 158 Tuning the system, 77
START.CMD, 75 TUTOR command, 65, 161
STARTQUE.CMD file, 83 TYPE command, 161
STARTUP.CMD file, 74 UART adapters, 13
Statistics UART emulation, 34
resetting, 141 UNPROTECT command, 162
STOP command, 64, 159 VERSION command, 163
String comparisons, 56 VGA controllers, 62, 82
String operators, 56 Virtual disk, 79
String symbols, 43, 87 Virtual memory, 35, 65, 78,
SUBPROCESS command, 159 84
Symbols, 55 Virtual UART support, 34
defining, 86 VMAXJOBS sysgen parameter, 77
removing, 98 VT100 terminals, 16, 23
string, 87 VTxxx terminals, 62
SYSMON command, 160 WAIT command, 163
SYSPASSPR sysgen parameter, Warranty, 167
18 WHO command, 163
SYSPASSWORD sysgen parameter, Wildcard specifications, 39
15, 18 Wildcat
SYSTAT command, 160 installing, 12
System commands, 85 WIN command, 163
System management, 74 Windows under TSX, 163
System password, 15, 18 WINPRT program, 142
System statistics Working set, 66
resetting, 141 Working set size, 149
System wide logical symbols, controlling size, 149
76 WSCMD command, 164
Tape support, 169 Wyse terminals, 24
TCP/IP networking, 168 XMS, 35
Telephone support, 166 XON/XOFF flow control, 16
Telnet, 2, 63, 168